MongoDB中的查询

  MongoDB中文文档:http://docs.mongoing.com/manual-zh/contents.html

  这里以集合名称为test为例,数据库通过for循环插入一些测试数据,键分别为:name,age,date

  db.test.find()   查询所有的数据

  db.test.findOne()  查询一条数据,返回的是插入的第一条数据,这个后面不能再跟其他查询条件了,比如:db.test.findOne().sort({age:1}) ,会报:has no method 'sort'

  db.test.find({age:18}) 查询年龄为18的数据

  db.test.find({age:18})[0]  查询年龄为18的,结果文档中的索引为0的数据,MongoDB的查询返回的都是document文档(聚合函数除外...),所以可以这样取

  db.test.find().skip(1).limit(10).srot({age:1})  以age为正序排序(1为正序,-1为倒序),且取结果集的跳过第一条数据的(skip(1))的前十条数据

  db.test.find({},{name:1,age:1,date:-1})  查询所有的数据,结果集中的列只包含name、age,不包含:date。第一个中括号是查询的条件,给空表示查询所有 非_id字段:1为显示,-1为隐藏;_id字段:不指定为显示,指定0为隐藏

  db.test.find({age:{$gt:18}})  查询年龄大于18的所有信息,$gt为大于,$lt为小于

  db.test.find({age:{$in:[17,18,19]}})  查询age=17、18、19的数据,同sql的in

  插入两条数据,用于继续,多个sex键:

    db.test.insert({name:"testss",age:20,sex:1})

    db.test.insert({name:"tdfdaf",age:20,sex:0})

   db.test.find({age:{$lt:21},sex:1})  查询年龄小于21,并且性别为1的数据,也就是sql的and 查询

  db.test.find({$or:[{age:20},{sex:1}]}) 查询年龄为20,或者性别为1的数据,也就是sql的or查询

  db.test.find({age:{$lt:22},$or:[{age:20},{sex:1}]})  and 和 or 一起使用,多分析分析者三条语句,书写的格式也好记

  

你可能感兴趣的:(mongodb)