MongoDB 有没有办法在不删除更新数据中不包含的现有元素的情况下更新文档

贾斯汀

我一直在使用 MongoDB 和 .NET core 和 Node.js。这个问题特定于我正在处理的节点项目,但我认为客户端语言与我的问题无关。

我有一个文档,其中包含下面的名称和地址当前(“add_current”)等元素:

{
   "_id" : ObjectId("5d858718c1d9f856881dc9ce"),
   ...
   "name": "John Doe",
   "add_current" : 
   {
      "add1" : "456 Old Ave.",
      "city" : "Stafford",
      "state" : "VA",
      "zip" : "23234"
   },
   ...
}

有时我只是像这样更新子对象的某些部分:

const updateDocument2 = function (db, callback) {
    const collection = db.collection('documents');
    collection.update(
        { 
            '_id': ObjectID("5d858718c1d9f856881dc9ce") 
        },
        {
            $set: {
                name: "John Doe Jr.",
                add_current: {
                    add1: "123 New Street",
                }

            }
        }, function (err, result) {
            console.log("Updated the document");
            callback(result);
        });
}

执行$set上述操作时,我删除了 city、state 和 zip 字段。我不想那样做。

我正在寻找最有效的方法来更新 name 和 add_current.add1 而不删除其他字段(如 add_current.state)。我意识到有很多方法可以通过多次触摸数据记录(.findOne(...)然后.update(...)来做到这一点有没有办法通过一次.update(...)触摸来做到这一点?

苏珊梅塔

您正在将 add_current 的值设置为 {add1: "123 New Street"}

尝试 {$set:{"add_current.add1": "123 New Street"}}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C# MongoDb 有条件地更新文档中现有的数组元素并添加新元素

来自分类Dev

有没有办法知道MongoDB中是否有更多文档可用于分页?

来自分类Dev

如何在不替换现有字段的情况下更新MongoDB中的记录?

来自分类Dev

有没有办法在保持数据的同时更改mongoDB结构(从嵌套/嵌入文档到对象引用列表)?

来自分类Dev

有没有办法在MongoDB中返回文档中数组的一部分?

来自分类Dev

有没有办法从ArrayList内部的mongodb访问JSON文档的值?

来自分类Dev

有没有办法在MongoDB中使用HQL?

来自分类Dev

流星+ Mongodb:有没有办法从db.find()的结果中完全排除某些子文档?

来自分类Dev

有没有办法在mongodb的子文档数组中匹配2个特定的字段值?

来自分类Dev

流星+ Mongodb:有没有办法从db.find()的结果中完全排除一些子文档?

来自分类Dev

有没有办法在不循环的情况下应用行更新

来自分类Dev

在不丢弃mongoDB中整个文档的情况下,找到具有公共字段的最大组

来自分类Dev

MongoDB save() 每次创建新文档而不是更新现有文档

来自分类Dev

有没有一种简单的方法可以在没有实体/pojo 类的情况下使用 spring boot 从 mongodb 数据库的集合中查询特定文档?

来自分类Dev

有没有办法使用 in Array 函数从 mongodb 集合中获取数据。如果数组 id 是字符串

来自分类Dev

有没有办法检查 MongoDB 中数组值中的重复条目?

来自分类Dev

有没有办法将整个mongodb集合转储到oplog中?

来自分类Dev

有没有办法重写Mongodb中的默认功能?

来自分类Dev

有没有办法在MongoDB中捕获覆盖不良的查询?

来自分类Dev

有没有办法用mongodb控制gorm中的加载关系?

来自分类Dev

有没有办法从 MongoDB 中的查询返回特定的嵌套字段?

来自分类Dev

在MongoDB中需要帮助:在不指定元素位置的情况下更新元素

来自分类Dev

如何在没有特定要求的情况下将数据保存在mongodb中

来自分类Dev

在 mongodb 中更新文档

来自分类Dev

有没有创建或更新MongoDB索引的方法?

来自分类Dev

有没有办法在不输出新行的情况下显示“免费”更新?

来自分类Dev

有没有办法将mongodb设置为带有vagrantfile的服务器?

来自分类Dev

Sitecore 8.1-在没有MongoDB的情况下运行

来自分类Dev

在没有mongoskin的情况下使用mongodb2

Related 相关文章

  1. 1

    C# MongoDb 有条件地更新文档中现有的数组元素并添加新元素

  2. 2

    有没有办法知道MongoDB中是否有更多文档可用于分页?

  3. 3

    如何在不替换现有字段的情况下更新MongoDB中的记录?

  4. 4

    有没有办法在保持数据的同时更改mongoDB结构(从嵌套/嵌入文档到对象引用列表)?

  5. 5

    有没有办法在MongoDB中返回文档中数组的一部分?

  6. 6

    有没有办法从ArrayList内部的mongodb访问JSON文档的值?

  7. 7

    有没有办法在MongoDB中使用HQL?

  8. 8

    流星+ Mongodb:有没有办法从db.find()的结果中完全排除某些子文档?

  9. 9

    有没有办法在mongodb的子文档数组中匹配2个特定的字段值?

  10. 10

    流星+ Mongodb:有没有办法从db.find()的结果中完全排除一些子文档?

  11. 11

    有没有办法在不循环的情况下应用行更新

  12. 12

    在不丢弃mongoDB中整个文档的情况下,找到具有公共字段的最大组

  13. 13

    MongoDB save() 每次创建新文档而不是更新现有文档

  14. 14

    有没有一种简单的方法可以在没有实体/pojo 类的情况下使用 spring boot 从 mongodb 数据库的集合中查询特定文档?

  15. 15

    有没有办法使用 in Array 函数从 mongodb 集合中获取数据。如果数组 id 是字符串

  16. 16

    有没有办法检查 MongoDB 中数组值中的重复条目?

  17. 17

    有没有办法将整个mongodb集合转储到oplog中?

  18. 18

    有没有办法重写Mongodb中的默认功能?

  19. 19

    有没有办法在MongoDB中捕获覆盖不良的查询?

  20. 20

    有没有办法用mongodb控制gorm中的加载关系?

  21. 21

    有没有办法从 MongoDB 中的查询返回特定的嵌套字段?

  22. 22

    在MongoDB中需要帮助:在不指定元素位置的情况下更新元素

  23. 23

    如何在没有特定要求的情况下将数据保存在mongodb中

  24. 24

    在 mongodb 中更新文档

  25. 25

    有没有创建或更新MongoDB索引的方法?

  26. 26

    有没有办法在不输出新行的情况下显示“免费”更新?

  27. 27

    有没有办法将mongodb设置为带有vagrantfile的服务器?

  28. 28

    Sitecore 8.1-在没有MongoDB的情况下运行

  29. 29

    在没有mongoskin的情况下使用mongodb2

热门标签

归档