mongoDB中 find函数语法:db.collection.find(query,fileds,limit,sikp)
1 、qurey参数相当于sql中的where子句用来指明查询条件列:db.account.find({name:"lewesyang",age:{$it:22}})
2、fileds参数相当于select后面的字段 语法格式: db.account.find({name:"lewesyang",age:{$it:22}},{"age":0})
意思为不返回age字段 注意(不能返回和不返回混用既{"age":0,"name":1}是不合法的)建议要么返回的都写要么不返回的都写
3、limit参数限制返回结果文档的数量,指定返回结果数量的上限:
db.account.find({name:"lewesyang",age:{$it:22}},{"age":0},5) 最多返回5条合法文档
4、skip参数 查询文档时候的偏移量 :db.account.find({name:"lewesyang",age:{$it:22}},{"age":0},5,10) 从第11条开始返回5条文档记录 11~16条
单独使用limit和skip语法: db.account.find().limit(5).skip(10)
find函数查询处理的文档是无序的想要得到有序的文档需要用到sort函数 语法:db.account.find().sort({age:-1}) 按age降序排列
find函数返回值为一个 cursor 对象,sort等函数都是由cursor对象提供,find函数查询并不是一次返回所有合法文档第一次返回101条或者200M数据并缓存到内存这时候cursor 就发挥作用了,可以用它了操作结果集进行排序等操作,cursor 会记录访问位置,当内存中的文档访问完成后cursor 会对数据库再次发送查询数据请求