zoukankan      html  css  js  c++  java
  • 『MongoDB』集合更新操作

    参考

    定义

    db.collection.update(query, update, options)

    改变一个在集合中已经存在的文档或文档数组。默认的,update()方法更新一个独立的文档。如果multi选项被设置为true(真),这个方法更新匹配条件的所有文档。

    方法格式:

    db.collection.update(
       <query>,
       <update>,
       { upsert: <boolean>, multi: <boolean> }
    )
    
    参数 类型 描述
    query 文档 选择器,与find()中的用法一样。
    update 文档 改变
    upsert 文档、布尔 可选。默认为false。如果为true,则表示“如果文档不存在,则创建集合。”
    multi 文档、布尔 可选。默认为false。如果为true,则表示“更改所有符合条件的项目。”

    update参数说明

    参考

    Name Description
    $inc 通过指定的数值自增长某个字段的值。
    $rename 重命名一个字段
    $setOnInsert 当文档在upsert创建期间,设置一个字段的值。对于已经存在的项目的更新不起作用。
    $set 在一个已经存在的文档的字段值。
    $unset 从一个文档中移除一个字段。

    示例

    db.products.update( { sku: "abc123" },
                        { $inc: { quantity: 5 } } )
    

    增长sky为abc123的文档的quantity字段的值5次。(如:原为1,增长后为6)

    数组操作

    Name Description
    $ 作为一个占位符来更新一次update操作中的第一个符合条件的元素。
    $addToSet 仅当它们在集合中不存在的时候,添加元素到一个已经存在的数组。
    $pop 移除一个数组中第一个或最后一个元素。
    $pullAll 从一个数组中移除所有元素。
    $pull 从一个数组中移除匹配的元素。
    $pushAll 不建议使用. 添加所有元素。
    $push 添加一个元素。

    $push简单说明

    格式

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

    示例

    db.students.update(
                        { name: "joe" },
                        { $push: { scores: 89 } }
                      )
    

    更改器

    Name Description
    $each $push和$addToSet的更改操作,为一个数组更新多个附加的项目。
    $slice $push的更改操作来限制被更新数组的尺寸。
    $sort $push的更改操作,为一个已经存在的数组排序。
  • 相关阅读:
    Sublime Text3快捷键大全
    IntelliJ IDEA常用快捷键(Mac)
    shell脚本执行错误 $' ':command not found
    Shell脚本中"command not found"报错处理
    Shell 数值、字符串比较
    Java线程池的构造以及使用
    Host 'xxx' is not allowed to connect to this MySQL server
    Linux下Mysql安装(tar安装)
    Linux下Mysql安装(RPM安装)
    Mac安装Mysql
  • 原文地址:https://www.cnblogs.com/sitemanager/p/3476910.html
Copyright © 2011-2022 走看看