【sql】MongoDB 新增 高级用法

news/2024/11/8 23:41:07/

【sql】MongoDB 新增 高级用法




批量插入数据, 遇到错误跳过并继续执行


方案一

ordered:false

使用场景:

   1: 数据存在时则跳过插入

//批量插入
db.res_phone.insertMany(
    [
        {"_id":1, "phone":10086},
        {"_id":2, "phone":10010},
        {"_id":3, "phone":10000},
    ],
    {
         //遇到错误是否中断  false遇到错误会跳过 继续执行
         ordered:false
    }
);
 


方案二

update里有个参数 ‘$setOnInsert' 可以实现”存在则不执行”的功能,可见 $setOnInsert 官方文档。

示例:

起始数据:

> db.Blog.insert({"_id":"123456", "blog_cont":"abcdef", "title":"《My Test》"})

> db.Blog.find()

{ "_id" : "123456", "blog_cont" : "abcdef", "title" : "《My Test》" }

加入相同 ID 的日志:

> db.Blog.update({"_id":"123456"}, {$setOnInsert:{"blog_cont":"abc123", "other":"hello world!"}}, {upsert:true})

WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 0 })

>

> db.Blog.find()

{ "_id" : "123456", "blog_cont" : "abcdef", "title" : "《My Test》" }

加入不同 ID 的日志:

> db.Blog.update({"_id":"123"}, {$setOnInsert:{"blog_cont":"abc123", "other":"hello world!"}}, {upsert:true})

WriteResult({ "nMatched" : 0, "nUpserted" : 1, "nModified" : 0, "_id" : "123" })

>

> db.Blog.find()

{ "_id" : "123456", "blog_cont" : "abcdef", "title" : "《My Test》"

{ "_id" : "123", "blog_cont" : "abc123", "other" : "hello world!" }

如果某些内容想更新的话(例如更新 title )可以用 ‘$set':

> db.Blog.update({"_id":"123456"}, {$setOnInsert:{"blog_cont":"abc123", "other":"hello world!"}, $set:{"title":"《New Title》"}}, {upsert:true})

WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

>

> db.Blog.find()

{ "_id" : "123456", "blog_cont" : "abcdef", "title" : "《New Title》

{ "_id" : "123", "blog_cont" : "abc123", "other" : "hello world!" }



http://www.ppmy.cn/news/1059818.html

相关文章

怎么看待格力董事长董明珠说:不想招只关心工资待遇的人?

董明珠是格力电器的董事长,她一向以直言不讳而闻名。最近,她在接受采访时再次引起了人们的关注。 董明珠表示,她不喜欢招聘那些只关心工资待遇的人。她认为,年轻人应该知道自己的能力和潜力,而不仅仅是对金钱的追求。…

企培版edusoho对接第三方云视频点播 最新版本代码披露 支持m3u8视频加密

edusoho企培系列版本更新日志&#xff1a;新增功能和优化历史 倍数播放功能、视频分类、支持m3u8视频加密 \plugins\AliVideoPlugin\DependencyInjection\Configuration.php <?php namespace AliVideoPlugin\DependencyInjection; use Symfony\Component\Config\Definiti…

抖音店铺怎么运营?一定要牢记这几个运营细节,能让你少走弯路!

我是王路飞。 新手做抖音小店&#xff0c;一直没做起来不出单的原因&#xff0c;绝大多数都是因为不了解流程&#xff0c;不知道每一步该干什么&#xff0c;以及要做好哪些细节。 不管做什么项目&#xff0c;先入门都是新手的第一要务&#xff0c;只有入门、跑通了整个流程&a…

Leetcode.75 颜色分类

给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums &#xff0c;原地对它们进行排序&#xff0c;使得相同颜色的元素相邻&#xff0c;并按照红色、白色、蓝色顺序排列。 我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 必须在不使用库内置的 sort 函数的情况下解决这…

自然语言处理从入门到应用——LangChain:链(Chains)-[通用功能:LLMChain和RouterChain]

分类目录&#xff1a;《自然语言处理从入门到应用》总目录 LLMChain LLMChain是查询LLM对象最流行的方式之一。它使用提供的输入键值&#xff08;如果有的话&#xff0c;还包括内存键值&#xff09;格式化提示模板&#xff0c;将格式化的字符串传递给LLM&#xff0c;并返回LLM…

微信小程序-多多母婴幼儿产品购物商城系统

多多母婴购物商城的系统项目的概述设计分析&#xff0c;主要内容有平台的具体分析&#xff0c;进行数据库的是设计&#xff0c;数据采用mysql数据库&#xff0c;并且对于系统的设计采用比较人性化的操作设计&#xff0c;对于系统出现的错误信息可以及时做出处理及反馈。 基于多…

k8s 常用命令(三)

1、查看版本信息&#xff1a;kubectl version [rootmaster ~]# kubectl version [rootmaster ~]# kubectl version Client Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.3", GitCommit:"ca643a4d1f7bfe34773c74f7952…

Pytorch-day08-模型进阶训练技巧

PyTorch 模型进阶训练技巧 自定义损失函数 如 cross_entropy L2正则化动态调整学习率 如每十次 *0.1 典型案例&#xff1a;loss上下震荡 1、自定义损失函数 1、PyTorch已经提供了很多常用的损失函数&#xff0c;但是有些非通用的损失函数并未提供&#xff0c;比如&#xf…