首页 > 代码库 > MongoDB中的查询
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中的查询