首页 > 解决方案 > 部分更新删除了 mongodb 中的所有其他字段

问题描述

部分更新删除了数据库中 mongodb 中的所有其他字段:

{
  "demo": [
    {
      "id": "ABC123",
      "order": [
        {
          "order": 2,
          "field": "fieldValue"
        }
      ],
      "items": [
        "Story"
      ],
      "statusList": [
        "In progress"
      ]
    }
  ]
}

在java代码中:

collection.updateOne(Filters.eq("id", "ABC123"), new Document("$set", doc));

// doc 是从 Model 类创建的文档

我文档我只为订单传递值。运行 Java 代码后,由于我的 Model 类,它会将 items 和 statusList 更新为 null 我该怎么办?提前致谢

标签: mongodbspring-boot

解决方案


如果你只想更新order,你可以这样做

collection.updateOne(
  Filters.eq("id", "ABC123"), 
  new Document("$set", new Document("order", doc.order))
);

仅包括您要更新的字段是使其成为部分更新的原因。


推荐阅读