【sql】MongoDB 增删改查 高级用法

【sql】MongoDB 增删改查 高级用法

相关使用文档

MongoDB Query API — MongoDB Manual

https://www.mongodb.com/docs/manual/reference/sql-comparison

 

//增
//新增数据2种方式
db.msg.save({"name":"springboot😀"});
db.msg.insert({"name":"mango good"});
db.msg.save({"name":"springboot",type:"工具书", json:{id:1, name:'张三'}});//批量新增
db.msg.insertMany([
{"name":"springboot1",type:"工具书", user:{id:1, name:'张三'}},
{"name":"springboot2",type:"语文书", user:{id:2, name:'李四'}},
{"name":"springboot3",type:"数学书", user:{id:3, name:'王五'}},
]
);//循环添加数据
var b = 0
while (b <= 100000) {
//db.msg.save({indexa:b, "name":"springboot",type:"工具书", json:{id:1, name:'张三'}});db.msg.insertMany([{"name":"springboot1",type:"工具书", user:{id:b+1, name:'张三'}},{"name":"springboot2",type:"语文书", user:{id:b+2, name:'李四'}},{"name":"springboot3",type:"数学书", user:{id:b+3, name:'王五'}},{"name":"springboot1",type:"工具书", user:{id:b+4, name:'张三'}},{"name":"springboot2",type:"语文书", user:{id:b+5, name:'李四'}},{"name":"springboot3",type:"数学书", user:{id:b+6, name:'王五'}},{"name":"springboot1",type:"工具书", user:{id:b+7, name:'张三'}},{"name":"springboot2",type:"语文书", user:{id:b+8, name:'李四'}},{"name":"springboot3",type:"数学书", user:{id:b+9, name:'王五'}},{"name":"springboot1",type:"工具书", user:{id:b+10, name:'张三'}},{"name":"springboot2",type:"语文书", user:{id:b+12, name:'李四'}},{"name":"springboot3",type:"数学书", user:{id:b+13, name:'王五'}},{"name":"springboot1",type:"工具书", user:{id:b+14, name:'张三'}},{"name":"springboot2",type:"语文书", user:{id:b+15, name:'李四'}},{"name":"springboot3",type:"数学书", user:{id:b+16, name:'王五'}},{"name":"springboot1",type:"工具书", user:{id:b+17, name:'张三'}},{"name":"springboot2",type:"语文书", user:{id:b+18, name:'李四'}},{"name":"springboot3",type:"数学书", user:{id:b+19, name:'王五'}},{"name":"springboot1",type:"工具书", user:{id:b+20, name:'张三'}},{"name":"springboot2",type:"语文书", user:{id:b+21, name:'李四'}},{"name":"springboot3",type:"数学书", user:{id:b+31, name:'王五'}},{"name":"springboot1",type:"工具书", user:{id:b+4, name:'张三'}},{"name":"springboot2",type:"语文书", user:{id:b+5, name:'李四'}},{"name":"springboot3",type:"数学书", user:{id:b+6, name:'王五'}},{"name":"springboot1",type:"工具书", user:{id:b+7, name:'张三'}},{"name":"springboot2",type:"语文书", user:{id:b+8, name:'李四'}},{"name":"springboot3",type:"数学书", user:{id:b+9, name:'王五'}},{"name":"springboot1",type:"工具书", user:{id:b+10, name:'张三'}},{"name":"springboot2",type:"语文书", user:{id:b+12, name:'李四'}},{"name":"springboot3",type:"数学书", user:{id:b+13, name:'王五'}},{"name":"springboot1",type:"工具书", user:{id:b+14, name:'张三'}},{"name":"springboot2",type:"语文书", user:{id:b+15, name:'李四'}},{"name":"springboot3",type:"数学书", user:{id:b+16, name:'王五'}},{"name":"springboot1",type:"工具书", user:{id:b+17, name:'张三'}},{"name":"springboot2",type:"语文书", user:{id:b+18, name:'李四'}},{"name":"springboot3",type:"数学书", user:{id:b+19, name:'王五'}},]
);b = b+30
}//删除//(1)删除
db.msg.remove({type:"工具书"})
//(2)删除所有
db.msg.remove({})db.msg.remove({"json.id":1})//修改
//(1)update首条
//update:遇到满足条件的第一条数据修改
db.msg.update({"name":"springboot"},{$set:{"name":"springboot2"}})//(2)update多条
//updateMany :修改所有满足条件的
db.msg.updateMany({"name":"springboot"},{$set:{"name":"springboot2"}})db.msg.updateMany({"json.id":1},{$set:{"name":"springboot2"}})//(3)updateOne
//updateOne:修改满足条件的第一条数据
db.msg.updateOne({"name":"springboot2"},{$set:{"name":"springboot3"}})//查询所有数据2种写法
db.msg.find()
db.getCollection("msg").find()//查询数量
db.msg.find().itcount()//条件查询
db.msg.find({type:"工具书"})db.msg.find({"json.id":1})//分页查询   
//第一页  每页3条
db.msg.find({"user.id":1}).skip(0).limit(3)//第二页  每页3条
db.msg.find().skip(3).limit(3)//第三页  每页3条
db.msg.find().skip(6).limit(3)//排序
db.msg.find({"user.name":'张三'}).skip(200000).sort({ 'user.id':-1}).limit(30)db.msg.find({"user.name":'张三'}).sort({ 'createDate':-1}).skip(0).limit(100)
db.msg.find({"user.id":99994}).sort({ 'createDate':-1}).skip(0).limit(100)
db.msg.find().sort({ 'createDate':1}).skip(0).limit(100)db.msg.find({'createDate':{$gt:ISODate("2023-08-24T03:43:37Z")}}).sort({ 'createDate':1}).skip(0).limit(100)db.msg.find({'createDate':{$gt:ISODate("2023-08-24T03:43:37Z")}}).count()//条件
db.msg.find({"user.name":'张三',  'indexa': {$gt:3}}).skip(1000).sort({'indexa':-1}).limit(3)//聚合查询
db.msg.aggregate({"$group":{"_id":"$type","total":{"$sum":"$user.id"},"avg":{"$avg":"$user.id"}}})

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/52327.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

prompt工程(持续更新ing...)

诸神缄默不语-个人CSDN博文目录 我准备想办法把这些东西整合到我的ScholarEase项目里。到时候按照分类、按照prompt生成方法列一堆选项&#xff0c;用户自己生成prompt后可以选择在ScholarEase里面聊天&#xff0c;也可以复制到别的地方&#xff08;比如ChatGPT网页版之类的&a…

【官方中文文档】Mybatis-Spring #SqlSessionFactoryBean

SqlSessionFactoryBean 在基础的 MyBatis 用法中&#xff0c;是通过 SqlSessionFactoryBuilder 来创建 SqlSessionFactory 的。而在 MyBatis-Spring 中&#xff0c;则使用 SqlSessionFactoryBean 来创建。 设置 要创建工厂 bean&#xff0c;将下面的代码放到 Spring 的 XML …

C#设计模式六大原则之--迪米特法则

设计模式六大原则是单一职责原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特法则、开闭原则。它们不是要我们刻板的遵守&#xff0c;而是根据实际需要灵活运用。只要对它们的遵守程度在一个合理的范围内&#xff0c;努为做到一个良好的设计。本文主要介绍一下.NET(C#)…

Redisson自定义序列化

Redisson自定义序列化_redisson 序列化_yzh_1346983557的博客-CSDN博客 redis存取的数据一定是可序列化的&#xff0c;而可序列化方式可以自定义。如果不同客户端设置的可序列化方式不一样&#xff0c;会导致读取不一致的问题。常见的序列化方式有几下几种

Ansible 使用 RHEL 系统角色

安装 RHEL 系统角色软件包&#xff0c;并创建符合以下条件的 playbook /home/greg/ansible/timesync.yml 在所有受管节点上运行 使用 timesync 角色 配置该角色&#xff0c;以使用当前有效的 NTP 提供商 配置该角色&#xff0c;以使用时间服务器 172.25.254.254 配置该角色&am…

Linux虚拟机安装(Ubuntu 20)

最近这段时间使用VMWare安装了一下Ubuntu版本的Linux虚拟机&#xff0c;在这里记录一下安装时参考的文章以及需要注意的细节 参考链接&#xff1a; VMware虚拟机下安装Ubuntu20.04&#xff08;保姆级教程&#xff09; 一、安装VMWare 下载链接&#xff1a;VMware Workstatio…

GB28181国标平台测试软件NTV-GBC(包含服务器和模拟客户端)

GB28181国标平台测试软件NTV-GBC用于对GB28181国标平台进行测试(测试用例需要服务器软件&#xff0c;服务器软件可以是任何标准的国标平台&#xff0c;我们测试使用的是NTV-GBS&#xff09;&#xff0c;软件实现了设备注册、注销、目录查询&#xff0c;消息订阅、INVITE&#x…

概率密度函数 累积分布函数

概率密度函数&#xff1a;是指想要求得面积的图形表达式&#xff0c;注意只是表达式&#xff0c;要乘上区间才是概率&#xff0c;所以概率密度并不是概率&#xff0c;而是概率的分布程度。 为什么要引入概率密度&#xff0c;可能是因为连续变量&#xff0c;无法求出某个变量的…

软件测试及数据分析处理实训室建设方案

一 、系统概述 软件测试及数据分析处理是软件开发过程中的一项重要测试活动&#xff0c;旨在验证不同软件模块或组件之间的集成与交互是否正常。综合测试确保各个模块按照设计要求正确地协同工作&#xff0c;以实现整个软件系统的功能和性能。以下是软件测试及数据分析处理的一…

【BUG】解决安装oracle11g或12C中无法访问临时位置的问题

项目场景&#xff1a; 安装oracle时&#xff0c;到第二步出现oracle11g或12C中无法访问临时位置的问题。 解决方案&#xff1a; 针对客户端安装&#xff0c;在cmd中执行命令&#xff1a;前面加实际路径setup.exe -ignorePrereq -J"-Doracle.install.client.validate.cli…

汽车电子笔记之:AUTOSA架构下的多核OS操作系统

目录 1、AUTOSAR多核操作系统 1.1、OS Application 1.2、多核OS的软件分区 1.3、任务调度 1.4、核间任务同步 1.5、计数器、报警器、调度表 1.6、自旋锁与共享资源 1.7、核间通信IOC 1.8、OS Object中元素交互 1.9、多核OS的启动与关闭 2、多核OS注意事项 2.1、最小…

Linux防火墙报错:Failed to start firewalld.service Unit is masked

Linux防火墙报错&#xff1a;Failed to start firewalld.service: Unit is masked. 1、故障现象&#xff1a; 启动防火墙失败&#xff0c;报错情况如下&#xff1a; systemctl start firewalld # 报错&#xff1a; Failed to start firewalld.service: Unit is masked.原因是…

【QT5-自我学习-线程qThread练习-两种使用方式-2:通过继承Qobject类-自己实现功能函数方式-基础样例】

【QT5-自我学习-线程qThread练习-两种使用方式-2&#xff1a;通过继承Qobject类-自己实现功能函数方式-基础样例】 1、前言2、实验环境3-1、学习链接-参考文章3-2、先前了解-自我总结&#xff08;1&#xff09;线程处理逻辑事件&#xff0c;不能带有主窗口的事件&#xff08;2&…

Vue中为什么有时候获取不到props?

原因 在Vue中&#xff0c;props是从父组件流向子组件&#xff0c;在子组件的mounted及之前的生命周期钩子中&#xff0c;子组件只能接收到父组件的第一次props&#xff0c;如果父组件的props改变了&#xff0c;那么子组件在以上这些生命周期钩子中是接收不到的&#xff0c;那么…

4G模组EC20 网卡udhcpc获取IP但是没有设置IP

使能网卡&#xff1a; ifconfig usb0 up dhcp获取ip&#xff0c;虽然没有报error&#xff0c;但是很显然没有设置进配置 获取ip命令&#xff1a;udhcpc -i usb0 非正常现象&#xff1a; 正常现象&#xff1a; 解决方法&#xff1a; &#xff08;1&#xff09;rootfs 创建文件夹…

RabbitMQ | 在ubuntu中使用apt-get安装高版本RabbitMQ

目录 一、官方脚本 二、彻底卸载 三、重新安装 1.安装高版本Erlang 2.安装RabbitMQ 一、官方脚本 直接使用apt安装的rabbitmq版本较低&#xff0c;甚至可能无法使用死信队列等插件。首先提供一个 官方 的安装脚本&#xff1a; #!/usr/bin/sh sudo apt-get install curl …

lvs-DR模式:

lvs-DR数据包流向分析 客户端发送请求到 Director Server&#xff08;负载均衡器&#xff09;&#xff0c;请求的数据报文&#xff08;源 IP 是 CIP,目标 IP 是 VIP&#xff09;到达内核空间。 Director Server 和 Real Server 在同一个网络中&#xff0c;数据通过二层数据链路…

Vue操作时间

一、获取现在时间 const currentTime () > {let date new Date();let year date.getFullYear(); //月份从0~11&#xff0c;所以加一let month date.getMonth();let dateArr [date.getMonth() 1,date.getDate(),date.getHours(),date.getMinutes(),date.getSeconds(),…

Pytorch-day04-模型构建-checkpoint

PyTorch 模型构建 1、GPU配置2、数据预处理3、划分训练集、验证集、测试集4、选择模型5、设定损失函数&优化方法6、模型效果评估 #导入常用包 import os import numpy as np import torch from torch.utils.data import Dataset, DataLoader from torchvision.transfor…

安卓主板定制_电磁屏/电容屏安卓平板基于MTK联发科方案定制

定制化行业平板 在各行各业中的地位越来越重要&#xff0c;甚至在行业转型和发展中发挥着不可替代的作用。随着工业化社会的快速发展&#xff0c;工业生产对智控设备要求越来越高&#xff0c;运用的范畴也越来越普遍广泛&#xff0c;工业级平板就是其中一种应用广泛的设备。 新…