Registry / database / sql-from-mongo

sql-from-mongo

JSON →
library0.2.1jsnpmunverified

Converts MongoDB-like query objects into SQL WHERE clauses or full SELECT statements, targeting DocumentDB and similar SQL databases. Version 0.2.1 is the latest, with infrequent releases. Supports most MongoDB query operators ($or, $and, $gt, $in, etc.) plus extras like $startsWith, $isArray, and $geoWithin. Designed for single-table queries, no joins. Lightweight with zero dependencies. Key differentiator: simple, direct translation without a query builder layer. Not actively maintained.

npm install sql-from-mongo
INSTALL
IMPORT
SIG · SQL-FROM-MONGO
S
sql-from-mongo
databasejavascriptv0.2.1
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

sqlFromMongo
import { sqlFromMongo } from 'sql-from-mongo'
const sqlFromMongo = require('sql-from-mongo')
Only named export; no default export.
default import
import { sqlFromMongo } from 'sql-from-mongo'
import sqlFromMongo from 'sql-from-mongo'
Module exports a single named export, not a default.
require
const { sqlFromMongo } = require('sql-from-mongo')
const sqlFromMongo = require('sql-from-mongo')
CommonJS destructuring required for named export.

Convert a simple MongoDB-like filter to a SQL WHERE clause and a full SELECT statement.

const { sqlFromMongo } = require('sql-from-mongo'); const query = { user: 'Alice', age: { $gte: 18 } }; const sqlWhere = sqlFromMongo(query, 'users'); console.log(sqlWhere); // users.user = 'Alice' AND users.age >= 18 // Full SELECT with fields const fullQuery = sqlFromMongo(query, 'users', ['name', 'email']); console.log(fullQuery); // SELECT users.name, users.email FROM users WHERE users.user = 'Alice' AND users.age >= 18
Debug
Known issues
gotchaNo support for nested documents or array field matching; direct scalar equality only.
fix
Flatten nested queries manually or use $in for array fields explicitly via 'fieldName' syntax with an array value.
affects: >=0.0.0
gotchaThe $in operator can also accept a field name string (e.g., { $in: 'field'}) to reference another field — unexpected if not documented.
fix
Always use an array for $in values unless intentionally referencing another field.
affects: >=0.0.0
deprecatedPackage is in maintenance mode with no recent updates; may not support newer Node.js versions.
fix
Consider migrating to a more active library like mongodb-query-to-sql or writing manual SQL.
affects: >=0.2.0
Errors
Common errors & fixes
Error: Cannot find module 'sql-from-mongo'
Package not installed or not found in node_modules.
fix
Run 'npm install sql-from-mongo' in your project root.
TypeError: sqlFromMongo is not a function
Incorrect import style — likely attempted default import when only named export exists.
fix
Use 'import { sqlFromMongo } from 'sql-from-mongo'' or 'const { sqlFromMongo } = require('sql-from-mongo')'.
SyntaxError: Unexpected token .
Using ES module import syntax in a CommonJS file without .mjs extension or appropriate package.json config.
fix
Use require() or set 'type': 'module' in package.json.
Upgrade
Version history
0.2.1latest on npm
Audit
Dependencies

No dependency data recorded yet.

Agent activity
20 hits · last 30 days
node
18
Meta
1
OpenAI (training)
1
Resources
sql-from-mongo — npm install sql-from-mongo · libregistry