gpt4 book ai didi

MongoDB快速入门笔记(四)之MongoDB查询文档操作实例代码

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 28 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章MongoDB快速入门笔记(四)之MongoDB查询文档操作实例代码由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

MongoDB简介 。

MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案.

MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.

下面给大家介绍MongoDB查询文档操作的实例 。

先把student删除,再重新插入数据 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
> 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默认显示 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
> 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、各种查询方式 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$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:不包含 。

?
1
2
3
4
5
6
7
8
> 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:或者 。

?
1
2
3
4
5
> 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:空值 。

?
1
2
3
4
5
6
> 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 ... 。

?
1
2
3
4
5
6
7
8
9
10
11
> 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 }

正则表达式 。

?
1
2
> db.student.find({ name : /si\b/})
{ "_id" : 2, "name" : "lisi" , "age" : 27 }

db.集合名称.findOne({查询条件},{指定键}) 查询出符合条件的第一条数据 。

?
1
2
> db.student.findOne()
{ "_id" : 1, "name" : "zhangsan" , "age" : 27, "sex" : 1 }

db.集合名称.find({查询条件},{指定键}).limit(数字) 查询前几条数据 。

?
1
2
3
4
> 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(数字) 跳过前几条数据 。

?
1
2
3
4
5
6
> 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()实现分页 。

?
1
2
3
4
5
6
7
8
9
10
> 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表示降序 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
> 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查询文档操作实例代码,希望对大家有所帮助! 。

最后此篇关于MongoDB快速入门笔记(四)之MongoDB查询文档操作实例代码的文章就讲到这里了,如果你想了解更多关于MongoDB快速入门笔记(四)之MongoDB查询文档操作实例代码的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com