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查询文档操作实例代码,希望对大家有所帮助!