← 返回首页

SQL转MongoDB查询语法

示例查询(点击使用)
基本查询 SELECT * FROM users WHERE age > 18
多条件查询 SELECT * FROM users WHERE age >= 18 AND status = 'active' AND city = 'Beijing'
OR条件 SELECT * FROM users WHERE status = 'active' OR role = 'admin'
IN查询 SELECT * FROM products WHERE category IN ('electronics', 'books', 'clothing')
LIKE查询 SELECT * FROM users WHERE name LIKE '%john%'
排序和分页 SELECT name, email FROM users WHERE active = 1 ORDER BY created_at DESC LIMIT 10 OFFSET 20
NULL检查 SELECT * FROM orders WHERE shipped_at IS NULL
NOT NULL检查 SELECT * FROM orders WHERE shipped_at IS NOT NULL
BETWEEN查询 SELECT * FROM products WHERE price BETWEEN 100 AND 500
COUNT聚合 SELECT COUNT(*) FROM users WHERE status = 'active'
GROUP BY聚合 SELECT city, COUNT(*) as count FROM users GROUP BY city
NOT IN查询 SELECT * FROM users WHERE role NOT IN ('guest', 'banned')
SQL到MongoDB对照表
SQL MongoDB
WHERE a = 1{ a: 1 }
WHERE a != 1{ a: { $ne: 1 } }
WHERE a > 1{ a: { $gt: 1 } }
WHERE a >= 1{ a: { $gte: 1 } }
WHERE a < 1{ a: { $lt: 1 } }
WHERE a <= 1{ a: { $lte: 1 } }
WHERE a IN (1,2,3){ a: { $in: [1,2,3] } }
WHERE a NOT IN (1,2,3){ a: { $nin: [1,2,3] } }
WHERE a LIKE '%text%'{ a: /text/ }
WHERE a LIKE 'text%'{ a: /^text/ }
WHERE a LIKE '%text'{ a: /text$/ }
WHERE a IS NULL{ a: null }
WHERE a IS NOT NULL{ a: { $ne: null } }
WHERE a AND b{ $and: [{a}, {b}] }
WHERE a OR b{ $or: [{a}, {b}] }
ORDER BY a ASC.sort({ a: 1 })
ORDER BY a DESC.sort({ a: -1 })
LIMIT n.limit(n)
OFFSET n.skip(n)
SELECT a, b.project({ a: 1, b: 1 })
COUNT(*).countDocuments()