mongo通过 db.collection.find()方法进行查询操作,collection是要操作的集合,db是集合所在数据库,默认指向
当前所使用的数据库,此方法接收文档类型的参数。
A、查询集合inventory中的所有元素:
db.inventory.find( {} )
相当于sql:
selct * from inventory
B、如果要指定查询条件,采用文档的方式,即{ : , … }
查询inventory 集合中状态为”D”的文档:
db.inventory.find( { status: "D" } )
相当于sql:
SELECT * FROM inventory WHERE status = "D"
C、如果要使用查询操作符,可以以这种格式:{ : { : }, … }
查询inventory集合中状态为”A”或者”D”的文档:
db.inventory.find( { status: { $in: [ "A", "D" ] } } )
相当于sql:
SELECT * FROM inventory WHERE status in ("A", "D")
注:执行等于操作时推荐使用$in操作符,
D、如果指定条件中含有逻辑和(AND),可以如下:
db.inventory.find( { status: "A", qty: { $lt: 30 } } )
相当于sql:
SELECT * FROM inventory WHERE status = "A" AND qty < 30
E、如果指定条件中含有逻辑或(OR),可以如下:
db.inventory.find( { $or: [ { status: "A" }, { qty: { $lt: 30 } } ] } )
相当于sql:
SELECT * FROM inventory WHERE status = "A" OR qty < 30
F、AND与OR同在:
db.inventory.find( {
status: "A",
$or: [ { qty: { $lt: 30 } }, { item: /^p/ } ]
} )
相当于sql:
SELECT * FROM inventory WHERE status = "A" AND ( qty < 30 OR item LIKE "p%")
G、db.collection.findOne()方法同find方法,但是只返回找到的第一个。
说明:mongo查询方法所返回结果集称为游标集,即为cursor。