MongoDB 改

可以使用 update() 方法更新集合的文档,它接受三个参数:
- 适配文档
- 更新文档
- 可选参数

它接受的参数与查询方法一致。

默认 update() 方法只更新单个文档,使用 multi 参数更新所有匹配的文档。

不能更新 _id 字段。

更新最顶层的字段,查询 name 为 Juni 的文档,然后使用 $set 运算符更新 cuisine 字段和用 $currentDate 运算符更新 lastModified 字段值为当前日期。

db.restaurants.update(
    { "name" : "Juni" },
    {
      $set: { "cuisine": "American (New)" },
      $currentDate: { "lastModified": true }
    }
)

使用 . 更新嵌套的字段

db.restaurants.update(
  { "restaurant_id" : "41156888" },
  { $set: { "address.street": "East 31st Street" } }
)

更新多个文档

db.restaurants.update(
  { "address.zipcode": "10016", cuisine: "Other" },
  {
    $set: { cuisine: "Category To Be Determined" },
    $currentDate: { "lastModified": true }
  },
  { multi: true}
)

替换整个文档
要替换整个文档,可以在第二个参数传递与原始文档所有字段值不一致的新文档,但要注意 _id 是不可变的,如果要传递 _id,需要与原来的值一致。

db.restaurants.update(
   { "restaurant_id" : "41704620" },
   {
     "name" : "Vella 2",
     "address" : {
              "coord" : [ -73.9557413, 40.7720266 ],
              "building" : "1480",
              "street" : "2 Avenue",
              "zipcode" : "10075"
     }
   }
)

更新或插入
如果 update() 的第一个参数没有匹配的文档,那么默认他不会做任何操作。可以在第三个参数传递 upsert,使 update() 的行为变成有适配文档时更新和没有适配文档时插入数据。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,156评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,805评论 18 399
  • 点击查看原文 Web SDK 开发手册 SDK 概述 网易云信 SDK 为 Web 应用提供一个完善的 IM 系统...
    layjoy阅读 14,000评论 0 15
  • 原文:https://my.oschina.net/liuyuantao/blog/751438 查询集API 参...
    阳光小镇少爷阅读 3,869评论 0 8
  • 1.谷歌官方的说法 我觉得是这样的: mipmap支持多尺度缩放效果很好,比如一个200*200的图片缩放,如果我...
    robotking阅读 5,246评论 0 2