先看下我集合结构,简单的集合名 user_document_test,使用navicat工具
?1.无条件查询,查询所有
db.user_document_test.find()
?查询只显示部分字段
db.user_document_test.find({},{_id:1,userName:1,address:1})
?
?2. 条件查询之_id查询,_id查询需要使用ObjectId包着
db.user_document_test.find({_id:ObjectId('617a14fdc183e57b879d7415')})
其它条件查询,单个条件查询
db.user_document_test.find({userName:'lily'})
?3.多个条件组合查询
db.user_document_test.find({status:1,sex:0})
?4.模糊查询
db.user_document_test.find({address: /北京/});
?以某个字符开头查询
db.user_document_test.find({address: /^北/});
?以某个字符结尾查询
db.user_document_test.find({address: /区$/})
?5.符号匹配查询,大于($gt),小于($lt),大于等于($gte),小于等于($lte),等于($eq),不等于($ne),
db.user_document_test.find({age:{$gte:20,$lte:30}})
?db.user_document_test.find({phone:{$eq:'13500001111'}})
?
db.user_document_test.find({phone:{$ne:'13500001111'}})?
?
?6.多个in查询 $in 后面的参数必须是个数组[]格式? $nin不在后面也是数组
db.user_document_test.find({age:{$in:[25,30]}})
db.user_document_test.find({age:{$nin:[15,50]}})
7. or 查询
db.user_document_test.find({$or:[{address:/北京/},{age:30}]})
?
? 8.函数排序 sort(1=正序,-1=倒叙),跳过skip(数字表示跳过几个,如2表示跳过前2个),限制条数limit(数字表示只显示前面几条)
db.user_document_test.find().sort({age:-1})
db.user_document_test.find().sort({age:-1}).skip(2)
db.user_document_test.find().sort({age:-1}).skip(2).limit(2)
?
|