Select
The following table presents the various SQL statements related to reading records from tables and the corresponding MongoDB statements.
| SQL SELECT Statements | MongoDB find() Statements |
|---|---|
SELECT * FROM users | db.users.find() |
SELECT id,
user_id,
status
FROM users | db.users.find(
{ },
{ user_id: 1, status: 1 }
) |
SELECT user_id, status FROM users | db.users.find(
{ },
{ user_id: 1, status: 1, _id: 0 }
) |
SELECT * FROM users WHERE status = "A" | db.users.find(
{ status: "A" }
) |
SELECT user_id, status FROM users WHERE status = "A" | db.users.find(
{ status: "A" },
{ user_id: 1, status: 1, _id: 0 }
) |
SELECT * FROM users WHERE status != "A" | db.users.find(
{ status: { $ne: "A" } }
) |
SELECT * FROM users WHERE status = "A" AND age = 50 | db.users.find(
{ status: "A",
age: 50 }
) |
SELECT * FROM users WHERE status = "A" OR age = 50 | db.users.find(
{ $or: [ { status: "A" } ,
{ age: 50 } ] }
) |
SELECT * FROM users WHERE age > 25 | db.users.find(
{ age: { $gt: 25 } }
) |
SELECT * FROM users WHERE age < 25 | db.users.find(
{ age: { $lt: 25 } }
) |
SELECT * FROM users WHERE age > 25 AND age <= 50 | db.users.find(
{ age: { $gt: 25, $lte: 50 } }
) |
SELECT * FROM users WHERE user_id like "%bc%" | db.users.find( { user_id: /bc/ } ) |
SELECT * FROM users WHERE user_id like "bc%" | db.users.find( { user_id: /^bc/ } ) |
SELECT * FROM users WHERE status = "A" ORDER BY user_id ASC | db.users.find( { status: "A" } ).sort( { user_id: 1 } ) |
SELECT * FROM users WHERE status = "A" ORDER BY user_id DESC | db.users.find( { status: "A" } ).sort( { user_id: -1 } ) |
SELECT COUNT(*) FROM users | db.users.count() or db.users.find().count() |
SELECT COUNT(user_id) FROM users | db.users.count( { user_id: { $exists: true } } ) or db.users.find( { user_id: { $exists: true } } ).count() |
SELECT COUNT(*) FROM users WHERE age > 30 | db.users.count( { age: { $gt: 30 } } ) or db.users.find( { age: { $gt: 30 } } ).count() |
SELECT DISTINCT(status) FROM users | db.users.distinct( "status" ) |
SELECT * FROM users LIMIT 1 | db.users.findOne() or db.users.find().limit(1) |
SELECT * FROM users LIMIT 5 SKIP 10 | db.users.find().limit(5).skip(10) |
EXPLAIN SELECT * FROM users WHERE status = "A" | db.users.find( { status: "A" } ).explain() |
本文提供了一张对照表,详细列举了从SQL查询语句到MongoDB查询语句的转换方式,帮助开发者理解并掌握两种数据库之间的语法差异。


3766

被折叠的 条评论
为什么被折叠?



