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
(<) 小于 - $lt
(>=) 大于等于 - $gte
(<= ) 小于等于 - $lte
(!= ) 不等于 - $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": "男"}]})
下一篇:MongoDB 增删改查(三)