整理mongodb文档:批量操作

news2024/9/20 3:50:00

个人博客

整理mongodb文档:批量操作

个人公众号,求关注,文章如有不明,请指出。

文章概叙

本文讲的是关于bulkwrite的用法,依旧是在shell下使用。

关于批量操作

Performs multiple write operations with controls for order of
execution.

官网上这句话关于批量操作的介绍,简单明了。翻译过来就是:使用控制执行顺序的控件执行多个写入操作。

bulkWrite

批量操作的api只有一个,就是使用bulkWrite。
bulkwrite并非一次只能操作一种类型,而是可以同时操作多种类型的数据。比如在一次sql中,既可以批量修改,又可以批量增加。

举个例子,使用bulkwrite操作写入两条数据

db.test.bulkWrite([
    {
        insertMany: [{
            string: "a"
        }, {
            string: "b"
        }]
    }
])

细心的朋友看到我这儿是insertMany,但是官网中并没有insertMany的实例,因此我个人推荐使用updateMany,然后将upsert更改为true。
如果同时操作多个,比如前面所提及的更新与插入在同一个sql中操作,则应使用如下语法。

db.test.bulkWrite([
    {
        insertOne: {
            string: "a"
        }
    },
    {
        updateOne: {
            "filter": {
                "string": 'b'
            },
            "update": {
                "$set": {
                    string: 'c'
                }
            },
            upsert: true
        }
    }
])

上面的sql的意思是:增加一条a的记录,将db中为b的记录更改为c,如果没有则增加一条©的记录。
效果如下:
在这里插入图片描述
在这里插入图片描述

其中,可以看到我们的使用upsert的那条记录。并不归属于insertedcount中,而是归属于uosertedcount中,所以需要注意下这个。

bulkwrite支持的方法如下,每个具体的方法之前的博客都有讲解过,这儿就不再具体描述了 。

在这里插入图片描述

无序插入

之前的博客讲解过关于无序插入的,这儿不再讲解了。详情请看
整理mongodb文档(一):增

最后的点

关于分片集群的批量操作,后续关于集群博客的时候再讲解。​

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

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

相关文章

Eureka:服务注册-信息配置-自我保护机制

首先在提供者服务下&#xff0c;添加一个依赖 <!-- Eureka --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka</artifactId><version>1.4.6.RELEASE</version><…

【模块系列】AHT10温湿度模块

前言 以下是AHT10模块官网介绍原话。还有就是官网已经显示停产了&#xff0c;不过淘宝还是有小模块玩玩的。 AHT10是一款高精度&#xff0c;完全校准&#xff0c;贴片封装的温湿度传感器&#xff0c;MEMS的制作工艺&#xff0c;确保产品具有极高的可靠性与卓越的长期稳定性。传…

【网络基础】数据链路层

【网络基础】数据链路层 文章目录 【网络基础】数据链路层1、对比网络层2、以太网2.1 基本概念2.2 类似技术2.3 以太网帧 3、MAC地址对比IP地址 4、MTU4.1 对IP协议影响4.2 对UDP协议影响4.3 对TCP协议影响4.4 地址、MTU查看 5、ARP协议5.1 协议作用5.2 协议工作流程5.3 数据报…

第一章:SpringBoot基础入门

第一章&#xff1a;SpringBoot基础入门 1.1&#xff1a;Spring与SpinrBoot Spring能做什么 Spring的能力 Spring的生态 网址&#xff1a;https://spring.io/projects/spring-boot 覆盖了&#xff1a;Web开发、数据访问、安全控制、分布式、消息服务、移动开发、批处理等。 …

面试题 : Top-k问题

目录 题目 示例 提示 开始解题 1.思路 2.解题代码 3.时间复杂度 4.运行结果 ​编辑 目前问题 真正的解法 1.以找前K个最大的元素为例 2.代码执行过程&&时间复杂度的计算 3.画图演示代码执行过程 4.解题代码 两种解法的比较 完结撒花✿✿ヽ(▽)ノ✿✿ …

CAPL通过lookupSignal和DBLookup获取DBC信号的属性信息

文章目录 演示CAPL通过lookupSignal和DBLookup获取DBC信号的属性信息lookupSignalDBLookup代码问题:DBLookup(信号名).AttributeName报错问题: motorola格式的信号使用DBLookup获取信号的bitstart跟ig模块里的信息不一样演示 CAPL通过lookupSignal和DBLookup获取DBC信号的属性…

Django的模型

定义模型 from django.db import models class User(models.Model):# 类属性是表示表的字段username models.CharField(max_length50,uniqueTrue)password models.CharField(max_length200)create_time models.DateTimeField(auto_now_addTrue) # auto_now_add新增数据时间…

发布python模仿2023年全国职业的移动应用开发赛项样式开发的开源的新闻api,以及安卓接入案例代码

python模仿2023年全国职业的移动应用开发赛项样式开发的开源的新闻api&#xff0c;以及原生安卓接入案例代码案例 源码地址:keyxh/newsapi: python模仿2023年全国职业的移动应用开发赛项样式开发的开源的新闻api&#xff0c;以及安卓接入案例代码 (github.com) 目录 1.环境配…

全球地震分析寻找难以捉摸的前震信号

发现前震的本质可以帮助地震学家预测大地震。 2019 年里奇克莱斯特地震序列使南加州沙漠​​的道路发生偏移。图片来源&#xff1a;Ken Hudnut/USGS 小地震是否预示着大地震是地震学中长期存在的问题。 简而言之&#xff0c;答案是&#xff0c;有时他们会这样做。这是根据对全…

老胡的周刊(第104期)

老胡的信息周刊[1]&#xff0c;记录这周我看到的有价值的信息&#xff0c;主要针对计算机领域&#xff0c;内容主题极大程度被我个人喜好主导。这个项目核心目的在于记录让自己有印象的信息做一个留存以及共享。 &#x1f3af; 项目 whistle[2] Whistle 是基于 Node 实现的跨平…

点亮一颗LED灯

TOC LED0 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//使能APB2的外设时钟GPIO_InitTypeDef GPIO_Initstructure;GPIO_Initstructure.GPIO_Mode GPIO_Mode_Out_PP;//通用推挽输出GPIO_Initstructure.GPIO_Pin GPIO_Pin_5;GPIO_Initstructure.GPIO_Speed GPIO_S…

从LeakCanary看如何判断对象被回收了

前面已经了解了Service&#xff0c;Fragment&#xff0c;ViewModel对象的销毁时机&#xff0c;那么在触发销毁时机后&#xff0c;我们怎么判断这些对象有没有回收呢&#xff1f; 大家都知道在Java中有强引用&#xff0c;弱引用&#xff0c;软引用&#xff0c;虚引用四种引用方…

难缠客户背后的秘密:项目经理的危机处理手册

难缠的客户&#xff0c;每个项目经理都会或多或少遇到。他们可能会频繁更改需求&#xff0c;对细节吹毛求疵&#xff0c;或者在关键时刻提出与之前完全不同的意见。但是&#xff0c;难缠的客户其实并不都是坏事&#xff0c;他们也为项目经理提供了宝贵的学习机会。本文将深入探…

git拉取失败/git fatal终极解决方法

前言 被折磨不下20次总结出来的终极方案 步骤 0 首先关闭代理试试&#xff0c;不行就下一步 1 重置代理或者取消代理的方式 git config --global --unset http.proxy git config --global --unset https.proxy添加全局代理 git config --global http.proxy git config …

虚拟化 VMware sphere

一 VMware sphere用途&#xff1a; VMware vSphere 是 VMware 的虚拟化平台&#xff0c;可将数据中心转换为包括 CPU、存储和网络资源的聚合计算基础架构。vSphere 将这些基础架构作为一个统一的运行环境进行管理. 1. **虚拟化&#xff1a;** vSphere 的主要用途是将物理服务…

打印X型的图案

int main() {int n0;int i0;int j0;scanf("%d",&n);for(i0;i<n;i){for(j0;j<n;j){if(ij){printf("*");}else if((ij)n-1){printf("*");}elseprintf(" ");}printf("\n");}return 0; }

mapper.xml中循环执行多条语句时报错,但是单独拿SQL到数据库却可以执行

我是批量修改数据&#xff0c;用foreach标签包住update语句&#xff0c;报错信息如下&#xff1a; nested exception is java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the …

HCIP的VLAN实验

实验步骤&#xff1a; 1.首先&#xff0c;对交换机SW1进行操作&#xff0c;创建需要的VLAN并对接口进行划分 [SW1]vlan batch 2 to 6 [SW1]port-group group-member Ethernet 0/0/2 Ethernet 0/0/4 [SW1-port-group]port link-type access [SW1-port-group]port default vlan …

聚焦电力行业CentOS迁移,麒麟信安受邀参加第六届电力信息通信新技术大会暨数字化发展论坛并发表主题演讲

为加快推进“双碳”目标下的新型能源体系和新型电力系统建设&#xff0c;深化新一代数字技术与电力业务的融合发展&#xff0c;促进电力行业关键技术自主创新、安全可控&#xff0c;助力电力企业数字化转型升级和高质量发展&#xff0c;2023年8月9-11日&#xff0c;第六届电力信…

使用mysql:5.6和 owncloud 镜像,构建一个个人网盘。

一.根据自己版本选择镜像 uname -a cat /etc/centos-releaseuname -a 命令用于查看当前系统的硬件和操作系统信息&#xff0c;包括内核版本、处理器架构、系统类型等。 其中&#xff0c;"Linux" 表示操作系统类型为 Linux&#xff0c;"3.10.0-1160.el7.x86_64…