|
接上文
http://www.iyunv.com/zhaoyang/archive/2012/01/09/2317505.html
接上文…………
高级查询
find()
1 查询所有记录
db.users.find()
2 查询name为apple的记录
db.users.find({“name”:”apple”})
3 查询country为china,gender为1的记录
db.users.find({“country”:”china”,” gender”:1})
限制结果集
对应到标准sql, 之前是select * from, 现在需要的是select name from …
1 查询name为apple,并且结果只显示name
db.users.find({“name”:”apple”}, {“name”:true})
---------------------------------------------------------------------------------------------------------------------------
注:后面这个参数{name:true}代表只显示name,如果有一个设置true,那么其他未设置的都是默认false,但是_id字段是默认true的,如果不想显示_id,可以这么写:
db.users.find({“name”:”apple”}, {“name”:true,” _id”:false})
---------------------------------------------------------------------------------------------------------------------------
2 查询所有记录,并且结果只显示name和country
db.users.find(null, {“name”:true, “country”:true, “_id”:false})
findOne()
顾名思义,只显示查询到的第一条记录,类似于select top 1 …
db.users.findOne({“gender”:0})
limit()
类似于sqlserver中的top
db.users.find({“gender”:0}).limit(2);
条件操作符 =, !=
$lt 小于 (less than)
$lte 小于等于 (less than equals)
$gt 大于 (greater than)
$gte 大于等于 (greater than equals)
$ne 不等于 (not equals)
查出age大于30的记录
db.users.find({“age”:{$gt:30}})
查出age>=30 且 |
|
|