$pull:

db.collection.update(
<query>,
{
$pull: {
<arrayField>: <query2>
}
}
)

$pullAll:

db.collection.update(
<query>,
{
$pullAll: {
<arrayField>: [ <value1>, <value2> ... ]
}
}
)

$push:

db.collection.update(
<query>,
{
$push: {
<field>: <value>
}
}
)

将 value 压入 field 中。若是 value
本身也是数组,那么是将整个数组当做一个元素压入。不去重









$pushAll:

db.collection.update(
{
field: value
},
{
$pushAll:
{
field1: [ value1, value2, value3 ]
}
}
);

若压入的 value 是单个值将会报错,必须是一个 array,不去重



当 value 为一个 array 的时候,将 value
里面的值分别增加到 field 中。而不是当做一个总体





$each 配合 $addToSet :

仅仅将不存于数组 field 中的多值增加到field中。去重

db.COLLECTION.update(
<query>,
{
$addToSet: {
<field>: {
$each: [ <value1>, <value2> ... ]
}
}
}
)

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcGFuZG9yYV9tYWRhcmE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">



$each 配合 $push:

将多值压入数组 field 中,不去重

db.COLLECTION.update(
<query>,
{
$push: {
<field>: {
$each: [ <value1>, <value2> ... ]
}
}
}
)













MongoDB -- 更新的更多相关文章

  1. MongoDB——更新操作(Update)c#实现

    c#实现 Mongodb存储[文档局部更新] 如下: 递归更新字段  ,构建UpdateDefinition   /// <summary>   /// 构建更新操作定义   /// &l ...

  2. mongodb 更新数据时int32变为double的解决办法 & 教程

    https://www.runoob.com/mongodb/mongodb-mongodump-mongorestore.html mongodb 更新数据时int32变为double的解决办法   ...

  3. .NET 云原生架构师训练营(模块二 基础巩固 MongoDB 更新和删除)--学习笔记

    2.5.4 MongoDB -- 更新和删除 整体更新 更新字段 字段操作 数组操作 删除 https://docs.mongodb.com/manual/reference/operator/upd ...

  4. java操作mongodb——更新数据

    Java中可以通过updateOne,updateMany,replaceOne方法进行集合的文档更新.但是 _id 是不能更新的 updateOne只会更新一条数据,即使通过Filters.lt(& ...

  5. MongoDB 更新文档

    MongoDB 使用 update() 和 save() 方法来更新集合中的文档.接下来让我们详细来看下两个函数的应用及其区别. update() 方法 update() 方法用于更新已存在的文档.语 ...

  6. MongoDB 更新数组中的元素

    本文记录如何更新MongoDB Collection 中的Array 中的元素.假设Collection中一条记录格式如下: 现要删除scores 数组中,"type" 为 &qu ...

  7. [转]MongoDB更新操作replaceOne()实例讲解

    最近正在学习MongoDB,作为数据库的学习当然是要从CRUD开始学起了.这篇文章默认读者是知道如何安装MongoDB.如何运行MongoDB实例以及了解了MongoDB中的collection.do ...

  8. 【Mongodb教程 第八课 】MongoDB 更新文档

    MongoDB的 update() 和 save() 方法用于更新文档的集合. update()方法更新现有的文档值,而替换现有的文档通过的文件中 save() 方法. MongoDB Update( ...

  9. Mongodb更新数组$pull修饰符 (mongodb 修改器($inc/$set/$unset/$push/$pop/upsert))

    mongodb 修改器($inc/$set/$unset/$push/$pop/upsert))   https://www.jb51.net/article/112588.htm http://bl ...

  10. mongodb 更新嵌套数组的值

    概要 本文主要讲述在 mongodb 中,怎么更新嵌套数组的值. 使用$更新数组 基本语法  { "<array>.$" : value } 可以用于:update, ...

随机推荐

  1. 网页制作之JavaScript部分3--事件及事件传输方式(函数调用 练习题 )重要---持续更新中

    一. 事件:说白了就是调用函数的一种方式.它包括:事件源.事件数据.事件处理程序. JS事件 1.js事件通常和函数结合来使用,这样可以通过发生的事件来驱动函数的执行,从而引起html出现不同的效果. ...

  2. mysql禁用autocommit,以及遇到的问题(转)

    MySQL的autocommit(自动提交)默认是开启,其对mysql的性能有一定影响,举个例子来说,如果你插入了1000条数据,mysql会commit1000次的,如果我们把autocommit关 ...

  3. [置顶] Android4.0中修改挂断键(ENDCALL)的默认行为

    文件: frameworks/base/core/java/android/provider/Setings.java public static final String END_BUTTON_BE ...

  4. php:兄弟连之面向对象版图形计算器2

    上篇说到通过result.class.php来分流,因为三个类都继承了shape这个类,让我们来看一下,面向对象中的继承. shape.class.shape文件 <?php abstract ...

  5. CentOS桌面环境如何打开终端以及如何将终端加入右键

    安装完CentOS的桌面环境后,默认在桌面以及右键是没有打开终端选项的,要想打开终端,可以由以下步骤: 在左上角菜单[Applications]--->[System Tools]---> ...

  6. Eclipse用法和技巧十八:减少不必要的输入

    写代码的时候,很多人都有一个原则,尽量上输入.依靠IDE自动生成的代码,一般可读性,排版什么的都还是不错的,最主要的一般不会有什么低级错误.今天介绍几个在eclipse环境中,常用的依靠eclipse ...

  7. 高级特性(2)- XML

    2.1 概述2.2 解析XML文档2.3 验证XML文档 2.3.1 文档类型定义 2.3.2 XML Schema 2.3.3 实用示例2.4 使用XPath来定位信息2.5 使用命名空间2.6 流 ...

  8. boost 轻量级信号量

    #include <boost/thread/condition_variable.hpp> #include <boost/thread/mutex.hpp>     #in ...

  9. 使用C语言实现字符串中子字符串的替换

    描述:编写一个字符串替换函数,如函数名为 StrReplace(char* strSrc, char* strFind, char* strReplace),strSrc为原字符串,strFind是待 ...

  10. sql: update from

    sql server提供了update的from 子句,可以将要更新的表与其它的数据源连接起来.虽然只能对一个表进行更新,但是通过将要更新的表与其它的数据源连接起来,就可以在update的表达式 中引 ...