一:简单查询
db.collection.find(query, projection)
- query :可选,使用查询操作符指定查询条件
- projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。
如果只想找到一条记录,请使用 findOne() > db.demo.findOne({"name":"lisi"}) { "_id" : ObjectId("5c6158fa2f5e0916de3c790e"), "name" : "lisi", "age" : 26 }
projection 可以选择字段是否展示 1为展示/0不展示 find()/findOne()同理 > db.demo.findOne({"name":"lisi"}, {"_id":0,"name":1}) { "name" : "lisi" }
二:查询条件查询
找到 年龄(age) 小于30 大于25的文档 > db.demo.find({"age" : {"$lt" : 30, "$gt" : 25}}) { "_id" : ObjectId("5c6158eb2f5e0916de3c790c"), "name" : "zhangsan", "age" : 26 } { "_id" : ObjectId("5c6158fa2f5e0916de3c790d"), "name" : "zhangsan", "age" : 26 } { "_id" : ObjectId("5c6158fa2f5e0916de3c790e"), "name" : "lisi", "age" : 26 } { "_id" : ObjectId("5c61590f2f5e0916de3c790f"), "name" : "zhangsan", "age" : 26 } { "_id" : ObjectId("5c61590f2f5e0916de3c7910"), "name" : "lisi", "age" : 26 }
三:OR 查询
> db.demo.find({"age" : {"$in":[20,26]}}) { "_id" : ObjectId("5c613f942f5e0916de3c7909"), "age" : 20 } { "_id" : ObjectId("5c6158eb2f5e0916de3c790c"), "name" : "zhangsan", "age" : 26 } { "_id" : ObjectId("5c6158fa2f5e0916de3c790d"), "name" : "zhangsan", "age" : 26 } { "_id" : ObjectId("5c6158fa2f5e0916de3c790e"), "name" : "lisi", "age" : 26 } { "_id" : ObjectId("5c61590f2f5e0916de3c790f"), "name" : "zhangsan", "age" : 26 } { "_id" : ObjectId("5c61590f2f5e0916de3c7910"), "name" : "lisi", "age" : 26 }
> db.demo.find({"$or" : [{"age" : 20}, {"name":"lihong"}]}) { "_id" : ObjectId("5c613f942f5e0916de3c7909"), "age" : 20 } { "_id" : ObjectId("5c61587a2f5e0916de3c790b"), "name" : "lihong", "age" : 25 }
四:null 查询
> db.demo.find({"age" : null}) { "_id" : ObjectId("5c61011d0a485d689a5f3e15"), "c" : "d" } { "_id" : ObjectId("5c6147c92f5e0916de3c790a"), "age" : null }
db.demo.find({"age" : {"$in" : [null], "$exists" : true}}) { "_id" : ObjectId("5c6147c92f5e0916de3c790a"), "age" : null }
五:数组
插入 > db.demo.insert({"fruit" : ["banana", "apple", "origin"]}); WriteResult({ "nInserted" : 1 })
查询 > db.demo.find({"fruit" : "apple"}) { "_id" : ObjectId("5c6259632f5e0916de3c7912"), "fruit" : [ "banana", "apple", "origin" ] }
> db.demo.find({"fruit" : {$all :["banana", "apple"]}}); { "_id" : ObjectId("5c6259632f5e0916de3c7912"), "fruit" : [ "banana", "apple", "origin" ] } { "_id" : ObjectId("5c6259de2f5e0916de3c7913"), "fruit" : [ "banana", "apple" ] }
> db.demo.find({"fruit" : {$size : 3}}); { "_id" : ObjectId("5c6259632f5e0916de3c7912"), "fruit" : [ "banana", "apple", "origin" ] }
六:查询内嵌文档
七:$where 查询
八:limit/skip/sort
db.demo.find().limit(3);
db.demo.find().skip(3);
> db.demo.find().sort({"age": -1, "name":1}); { "_id" : ObjectId("5c6158fa2f5e0916de3c790e"), "name" : "lisi", "age" : 26 } { "_id" : ObjectId("5c61587a2f5e0916de3c790b"), "name" : "lihong", "age" : 25 } { "_id" : ObjectId("5c613f942f5e0916de3c7909"), "age" : 20 }
一
原文:https://www.cnblogs.com/25-lH/p/10364781.html