MongoDB 更新文档(替换一个文档)

news/2024/11/28 10:48:18/

前两篇我们介绍了更新一个文档和多个文档;本篇我们介绍替换一个文档,具体语法如下:

        db.collection.replaceOne(filter, replacement, options)

其中,

        collection指的是集合名称

        filter指的是过滤条件

        replacement指的是替换的文档

        options指的是其他的一些选项

这里不再介绍filter, options

如果需要对filter进行详细的了解可以参考:       MongoDB 查询文档(1)https://blog.csdn.net/m1729339749/article/details/129965699

MongoDB 查询文档(2)https://blog.csdn.net/m1729339749/article/details/129971708 如果需要对options进行详细的了解可以参考:       MongoDB 更新文档(更新一条文档)https://blog.csdn.net/m1729339749/article/details/129983304下面我们还是以示例直接展示如何替换一个文档:

例子:

首先查询一下所有文档:

{ "_id" : "1001", "name" : "张三2", "fruits" : [ "apple", "orange" ], "updateTime" : ISODate("2023-04-06T02:36:00.703Z") }
{ "_id" : "1002", "name" : "李四", "fruits" : [ "banana", "apple" ] }
{ "_id" : "1003", "name" : "王五", "fruits" : [ "banana", "apple", "orange" ] }
{ "_id" : "1004", "score" : 100, "name" : "田七", "fruits" : [ "banana" ] }
{ "_id" : "1005", "name" : "田七", "score" : 100, "fruits" : [ "banana" ] }

下面我们替换名字为田七的文档:

db.test.replaceOne({ "name": "田七" }, { "commet": "我的内容被替换了" }
);

查询的文档如下:

{ "_id" : "1001", "name" : "张三2", "fruits" : [ "apple", "orange" ], "updateTime" : ISODate("2023-04-06T02:36:00.703Z") }
{ "_id" : "1002", "name" : "李四", "fruits" : [ "banana", "apple" ] }
{ "_id" : "1003", "name" : "王五", "fruits" : [ "banana", "apple", "orange" ] }
{ "_id" : "1004", "commet" : "我的内容被替换了" }
{ "_id" : "1005", "name" : "田七", "score" : 100, "fruits" : [ "banana" ] }

可以看到除_id外,文档被替换掉了;另外一条_id为1005的文档没有被替换掉,说明只能替换一条文档。


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

相关文章

土壤墒情监测系统浅谈分享--农业气象站和管式墒情水分仪

土壤墒情监测系统 系统背景 墒情是评价农田水分状况满足作物需要程度的指标。土壤墒情监测是指长期对不同层次土壤含水量进行测定,调查作物长势长相,掌握土壤水分动态变化规律,评价土壤水分状况。其特点是立足田间水分监测,围绕…

JVM垃圾收集算法与垃圾收集器(Serial、ParNew、CMS) —JVM系列(四)

一、垃圾收集算法 1. 分代收集算法 目前大多数垃圾收集器都是采用的分代收集算法,该算法其实算是一种思想:根据对象存活周期的不同而将内存分为年轻代和老年代,这样就可以根据各个年代的特点选择合适的垃圾收集算法。比如在年轻代中&#xf…

学校的地下网站(学校的地下网站1080P高清)

这个问题本身就提得有问题,为什么这么说,这是因为YouTube本身就不是一个视频网站或者说YouTube不是一个传统的视频网站!!! YouTube能够一家独大,可不仅仅是因为有了Google 这个亲爹,还有一点&am…

分享:包括 AI 绘画在内的超齐全免费可用的API 大全

AI 绘画已经火出圈了,你还不知道哪里可以用嘛?我给大家整理了超级齐全的免费可用 API,包括 AI 绘画在内,有需要的小伙伴赶紧收藏了。 AI 绘画/AI 作画 类 AI 绘画:通过AI 生成图片,包括图生文、文生图等。…

Python 进阶指南(编程轻松进阶):十七、Python 风格 OOP:属性和魔术方法

原文:http://inventwithpython.com/beyond/chapter17.html 很多语言都有 OOP 特性,但是 Python 有一些独特的 OOP 特性,包括属性和魔术方法。学习如何使用这些 Python 风格技巧可以帮助您编写简洁易读的代码。 属性允许您在每次读取、修改或…

多模态模型学习1——CLIP对比学习 语言-图像预训练模型

多模态模型学习1——CLIP对比学习 语言-图像预训练模型学习前言什么是CLIP模型代码下载CLIP实现思路一、网络结构介绍1、Image Encodera、PatchPosition Embeddingb、Transformer EncoderI、Self-attention结构解析II、Self-attention的矩阵运算III、MultiHead多头注意力机制IV…

epoll准备就绪列表保护机制,引发的锁问题讨论

文章目录epoll 就绪队列应该使用什么数据结构?为什么?关于如何使用互斥锁或读写锁来保护链表的操作读写锁的粒度是不是比互斥锁的粒度会更小一些?还有什么比较优势的锁机制吗?自旋锁资源开销还是比较大的,虽然减少了上线文切换&a…

AUTOSAR MemAcc模块介绍

概述 Memory Access(MemAcc)模块是AUTOSAR在R21-11标准释放的BSW模块,该模块的目的是为不同memory技术的设备提供基于地址的访问。 MemAcc模块由一个或多个Memory Driver(Mem)完善补充。MemAcc模块可以使用在不同的存储技术设备,如flash,EEPROM, RAM等。 MemAcc模块和Mem…