mongodb使用find或者findOne來查詢:
find批量查詢。
findOne是查詢一條記錄。
find有兩個參數: 第一個查詢條件, 第二個查詢傳回的字段。
下面是mongodb與sql查詢的對應關系表:
SQL SELECT Statements
MongoDB find() Statements
SELECT *
FROM users
db.users.find()
SELECT id,
user_id,
status
db.users.find(
{ },
{ user_id:1,status:1
}
)
SELECT user_id,status
{ user_id:1,status:1,_id:0
WHERE status="A"
{ status:"A" }
{ status:"A" },
WHERE status!="A"
{ status: {$ne:"A"
} }
AND age=50
{ status:"A",
age:50 }
OR age=50
{ $or: [ {status:"A"
} ,
{ age:50 } ] }
WHERE age>25
{ age: {$gt:25
WHERE age<25
{ age: {$lt:25
AND age<=50
{ age: {$gt:25,$lte:50
WHERE user_id like "%bc%"
db.users.find( {user_id:/bc/
} )
WHERE user_id like "bc%"
db.users.find( {user_id:/^bc/
ORDER BY user_id ASC
db.users.find( {status:"A"
} ).sort( {user_id:1 } )
ORDER BY user_id DESC
} ).sort( {user_id:-1 } )
SELECT COUNT(*)
db.users.count()
or
db.users.find().count()
SELECT COUNT(user_id)
db.users.count( {user_id: {$exists:true
} } )
db.users.find( {user_id: {$exists:true
} } ).count()
WHERE age>30
db.users.count( {age: {$gt:30
db.users.find( {age: {$gt:30
SELECT DISTINCT(status)
db.users.distinct("status" )
LIMIT 1
db.users.findOne()
db.users.find().limit(1)
LIMIT 5
SKIP10
db.users.find().limit(5).skip(10)
EXPLAIN SELECT *
} ).explain()
SQL INSERT Statements
MongoDB insert() Statements
INSERT INTO users(user_id,
age,
status)
VALUES ("bcd001",
45,
"A")
db.users.insert(
{user_id:"bcd001",age:45,status:"A"}
SQL Update Statements
MongoDB update() Statements
UPDATE users
SET status="C"
WHERE age>25
db.users.update(
{ age: {
$gt:25 } },
{ $set: {
status:"C" } },
{ multi:true }
UPDATE users
SET age=age+3
WHERE status="A"
{ status:"A" } ,
{ $inc: {
age:3 } },
SQL Delete Statements
MongoDB remove() Statements
DELETE FROM users
WHERE status="D"
db.users.remove( {
status:"D" } )
db.users.remove({})
位址: