MongoDB快速入门笔记(四)之MongoDB查询文档操作实例代码
MongoDB简介
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
下面给大家介绍MongoDB查询文档操作的实例
先把student删除,再重新插入数据
>db.student.drop() true >db.student.insert([{"_id":1,"name":"zhangsan","age":27,"sex":1},{"_id":2,"name":"lisi","age":27},{"_id":3,"name":"wangwu","age":30},{"_id":4,"name":"zhaoliu","age":28},{"_id":5,"name":"qianliu","age":33},{"_id":6,"name":"sunba","age":32}]) BulkWriteResult({ "writeErrors":[], "writeConcernErrors":[], "nInserted":6, "nUpserted":0, "nMatched":0, "nModified":0, "nRemoved":0, "upserted":[] }) >db.student.find() {"_id":1,"name":"zhangsan","age":27} {"_id":2,"name":"lisi","age":27} {"_id":3,"name":"wangwu","age":30} {"_id":4,"name":"zhaoliu","age":28} {"_id":5,"name":"qianliu","age":33} {"_id":6,"name":"sunba","age":32}
1、查询指定键
db.集合名称.find({查询条件},{指定键})
指定键:1表示显示,0表示不显示,_id默认显示
>db.student.find({},{name:1}) {"_id":1,"name":"zhangsan"} {"_id":2,"name":"lisi"} {"_id":3,"name":"wangwu"} {"_id":4,"name":"zhaoliu"} {"_id":5,"name":"qianliu"} {"_id":6,"name":"sunba"} >db.student.find({},{_id:0,age:0}) {"name":"zhangsan","sex":1} {"name":"lisi"} {"name":"wangwu"} {"name":"zhaoliu"} {"name":"qianliu"} {"name":"sunba"} >db.student.find({},{_id:0,name:1}) {"name":"zhangsan"} {"name":"lisi"} {"name":"wangwu"} {"name":"zhaoliu"} {"name":"qianliu"} {"name":"sunba"}
2、各种查询方式
$lt:< $lte:<= $gt:> $gte:>= $ne:!= >db.student.find({age:{$lt:30}}) {"_id":1,"name":"zhangsan","age":27,"sex":1} {"_id":2,"name":"lisi","age":27} {"_id":4,"name":"zhaoliu","age":28} >db.student.find({age:{$ne:27}}) {"_id":3,"name":"wangwu","age":30} {"_id":4,"name":"zhaoliu","age":28} {"_id":5,"name":"qianliu","age":33} {"_id":6,"name":"sunba","age":32}
$in:包含
$nin:不包含
>db.student.find({age:{$in:[27,28]}}) {"_id":1,"name":"zhangsan","age":27,"sex":1} {"_id":2,"name":"lisi","age":27} {"_id":4,"name":"zhaoliu","age":28} >db.student.find({age:{$nin:[27,28]}}) {"_id":3,"name":"wangwu","age":30} {"_id":5,"name":"qianliu","age":33} {"_id":6,"name":"sunba","age":32}
$or:或者
>db.student.find({$or:[{age:{$lt:29}},{name:"sunba"}]}) {"_id":1,"name":"zhangsan","age":27,"sex":1} {"_id":2,"name":"lisi","age":27} {"_id":4,"name":"zhaoliu","age":28} {"_id":6,"name":"sunba","age":32}
null:空值
>db.student.find({sex:null}) {"_id":2,"name":"lisi","age":27} {"_id":3,"name":"wangwu","age":30} {"_id":4,"name":"zhaoliu","age":28} {"_id":5,"name":"qianliu","age":33} {"_id":6,"name":"sunba","age":32}
$type:键是某种类型的
double:1
string:2
...
>db.student.insert({_id:7,name:7,age:70}) WriteResult({"nInserted":1}) >db.student.find({name:{$type:2}}) {"_id":1,"name":"zhangsan","age":27,"sex":1} {"_id":2,"name":"lisi","age":27} {"_id":3,"name":"wangwu","age":30} {"_id":4,"name":"zhaoliu","age":28} {"_id":5,"name":"qianliu","age":33} {"_id":6,"name":"sunba","age":32} >db.student.find({name:{$type:1}}) {"_id":7,"name":7,"age":70}
正则表达式
>db.student.find({name:/si\b/}) {"_id":2,"name":"lisi","age":27}
db.集合名称.findOne({查询条件},{指定键})
查询出符合条件的第一条数据
>db.student.findOne() {"_id":1,"name":"zhangsan","age":27,"sex":1}
db.集合名称.find({查询条件},{指定键}).limit(数字)
查询前几条数据
>db.student.find().limit(3) {"_id":1,"name":"zhangsan","age":27,"sex":1} {"_id":2,"name":"lisi","age":27} {"_id":3,"name":"wangwu","age":30}
db.集合名称.find({查询条件},{指定键}).skip(数字)
跳过前几条数据
>db.student.find().skip(2) {"_id":3,"name":"wangwu","age":30} {"_id":4,"name":"zhaoliu","age":28} {"_id":5,"name":"qianliu","age":33} {"_id":6,"name":"sunba","age":32} {"_id":7,"name":7,"age":70}
可以使用limit()和skip()实现分页
>db.student.find().skip(0).limit(3) {"_id":1,"name":"zhangsan","age":27,"sex":1} {"_id":2,"name":"lisi","age":27} {"_id":3,"name":"wangwu","age":30} >db.student.find().skip(3).limit(3) {"_id":4,"name":"zhaoliu","age":28} {"_id":5,"name":"qianliu","age":33} {"_id":6,"name":"sunba","age":32} >db.student.find().skip(6).limit(3) {"_id":7,"name":7,"age":70}
db.集合名称.find().sort({键:数字})
数字为1表示升序,数字为2表示降序
>db.student.find().sort({age:1}) {"_id":1,"name":"zhangsan","age":27,"sex":1} {"_id":2,"name":"lisi","age":27} {"_id":4,"name":"zhaoliu","age":28} {"_id":3,"name":"wangwu","age":30} {"_id":6,"name":"sunba","age":32} {"_id":5,"name":"qianliu","age":33} {"_id":7,"name":7,"age":70} >db.student.find().sort({age:1,_id:-1}) {"_id":2,"name":"lisi","age":27} {"_id":1,"name":"zhangsan","age":27,"sex":1} {"_id":4,"name":"zhaoliu","age":28} {"_id":3,"name":"wangwu","age":30} {"_id":6,"name":"sunba","age":32} {"_id":5,"name":"qianliu","age":33} {"_id":7,"name":7,"age":70}
以上内容是小编给大家介绍的MongoDB快速入门笔记(四)之MongoDB查询文档操作实例代码,希望对大家有所帮助!