mongo(六)Mongo Query

来源:互联网 发布:经纬度转换成坐标软件 编辑:程序博客网 时间:2024/06/07 07:15

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。

0 0
原创粉丝点击