MongoDB相关语法一
2022/1/12 2:35:21
本文主要是介绍MongoDB相关语法一,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、set
进行修改文档的指定的属性值
插入文档:
db.users.insert({name:"xiaoli",hobby:{citys:["beijing","shanghai"],flower:["baihe","lanhua"]}})
db.users.update({name:"xiaoli"},{$set:{hobby:{citys:["beijing","hangzhou"]}}})
二、push和addToSet
-
push不会考虑元素重复
db.users.update({name:"xiaoli"},{$push:{"hobby.citys":"hefei"}})
-
addToSet不会向集合中 添加重重复元素
db.users.update({name:"xiaoli"},{$addToSet:{"hobby.citys":"ningbo"}})
三、文档嵌套查询
注意:文档的嵌套的属性,要用引号
db.users.find({"hobby.citys":"hangzhou"})
四、一次插入多条文档,效率比较
-
循环插入多次
//1.4s for(var i=1;i<=500;i++) { db.numbers.insert({num:i}); }
-
插入一次
//0.3s var arr = []; for(var i=501;i<=1000;i++) { arr.push({num:i}); } db.numbers.insert(arr)
总结:当需要插入多条数据时,先一次性把数据存放到数组,再一次型性插入,效率较高。
五、等值与不等值
//num>220 db.numbers.find({num:{$gt:220}}); //num>=220 db.numbers.find({num:{$gte:220}}); //num=220 db.numbers.find({num:220}); db.numbers.find({num:{$eq:220}}); //num<220 db.numbers.find({num:{$lt:220}}); //220<=num db.numbers.find({num:{$lt:220}}); //num>=220 and num<=225 db.numbers.find({num:{$gte:220,$lte:225}}); //10<=num or num>=990 db.numbers.find({$or:[{num:{$lte:10}},{num:{$gte:990}}]});
六、基础上进行累加
查询出num小于等于10或者num大于等于的值,在原有基础上减去1000
db.numbers.updateMany({$or:[{num:{$lte:10}},{num:{$gte:990}}]},{$inc:{num:-1000}})
七、查询对象的属性值
//仅仅查询出一个 db.users.findOne({"hobby.citys":"hangzhou"}).name //查询返回多个对象,通过取下标值定位第一个,否则报错 db.users.find({"hobby.citys":"hangzhou"})[0].name
八、分页显示
skip()用于跳过指定数量的数据
skip((页码-1)* 每页显示的数据条数).limit(每页显示的条数);skip和limit不分先后,MongoDB会自动调整顺序
db.numbers.find().skip(2).limit(10);
九、排序
//-1:表示降序 db.numbers.find({}).sort({num:-1}); //1:表示升序 db.numbers.find({}).sort({num:1});
skip()、limit()和sort()可以以任何顺序进行调用
十、投影
//默认是显示全部 db.numbers.find({},{}); //指定不显示id db.numbers.find({},{_id:0}); //制定个显示某列,文档属性名:1 db.numbers.find({},{num:1});
这篇关于MongoDB相关语法一的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-24MongoDB资料:新手入门完全指南
- 2024-12-20go-zero 框架的 RPC 服务 启动start和停止 底层是怎么实现的?-icode9专业技术文章分享
- 2024-12-19Go-Zero 框架的 RPC 服务启动和停止的基本机制和过程是怎么实现的?-icode9专业技术文章分享
- 2024-12-18怎么在golang中使用gRPC测试mock数据?-icode9专业技术文章分享
- 2024-12-15掌握PageRank算法核心!你离Google优化高手只差一步!
- 2024-12-15GORM 中的标签 gorm:"index"是什么?-icode9专业技术文章分享
- 2024-12-11怎么在 Go 语言中获取 Open vSwitch (OVS) 的桥接信息(Bridge)?-icode9专业技术文章分享
- 2024-12-11怎么用Go 语言的库来与 Open vSwitch 进行交互?-icode9专业技术文章分享
- 2024-12-11怎么在 go-zero 项目中发送阿里云短信?-icode9专业技术文章分享
- 2024-12-11怎么使用阿里云 Go SDK (alibaba-cloud-sdk-go) 发送短信?-icode9专业技术文章分享