MongoDB 增删改查(二)

122 阅读1分钟

本文已参与新人创作礼活动,一起开启掘金创作指路。

MongoDB 增删改查(二)

上一篇写了一些基础的增删改查。这篇写点功能类函数 1、排序 sort为排序函数,-1代表从大到小,1代表从小到大

db.demo.find().sort({"age":-1})

结果: 在这里插入图片描述 2、总数

count获取集合的个数

db.demo.count()

查看demo集合下面所有文档个数 在这里插入图片描述 在这里插入图片描述 我们在nav下看一下。确实是五个文档 3、查看指定字段 之前介绍过find,其实find有两个参数,第二个参数来确定是否显示。如果为0则不显示,为1则显示

db.demo.find({},{"name":1})
db.demo.find({},{"name":0})

我们只查看name和不查看name 在这里插入图片描述 想必都注意到了,不管怎么样_id都会显示。其实_id是默认显示的,如果想要不显示可以"_id":0来控住。笔者建议如果不想让_id显示,那find的第二个参数都为0。要不都是1都显示,要不都是0都不显示。

4、查看指定数据条数 limit来控制显示的文档数量。也可排序后显示

 db.demo.find().limit(3)
 db.demo.find().sort({"age":-1}).limit(3)

在这里插入图片描述 5、条件操作

MongoDB中条件操作符有:

(>) 大于 - gt(<)小于gt (<) 小于 - lt (>=) 大于等于 - gte(<=)小于等于gte (<= ) 小于等于 - lte (!= ) 不等于 - ne(=)等于ne (= ) 等于 - eq 现在集合中所有数据 在这里插入图片描述

(1)大于

 db.demo.find({age:{$gt:20}},{"name":1,"age":1})

在这里插入图片描述 (2) 大于等于

db.demo.find({age:{$gte:22}},{"name":1,"age":1})

在这里插入图片描述 (3)小于

db.demo.find({age:{$lt:24}},{"name":1,"age":1})

在这里插入图片描述

(4)小于等于

db.demo.find({age:{$lte:24}},{"name":1,"age":1})

在这里插入图片描述 (5) 等于

db.demo.find({age:{$eq:24}},{"name":1,"age":1})

在这里插入图片描述

6、模糊查询

根据name进行模糊查询

db.demo.find({name:/r/},{"name":1,"age":1})

在这里插入图片描述 已开头和结尾查 以u和d开头的内容查询

db.demo.find({name:/^u/},{"name":1,"age":1})
db.demo.find({name:/^d/},{"name":1,"age":1})

已2结尾的内容查询

db.demo.find({name:/2$/},{"name":1,"age":1})

在这里插入图片描述

7、复杂条件查询 (or与and)

(1)or

db.demo.find({"$or":[{"name":"user"}, {"name":"user2"}]}); 

在这里插入图片描述 (2)and

db.demo.find({$and:[{"name":"user"},{"gender":"男"}]})

在这里插入图片描述 (3)and+or

db.demo.find({$and:[{$or:[{"name" : "user"}, {"name" : "user2"}]},{"gender": "男"}]})

在这里插入图片描述