通过数组内部文档的ID更新数组中的文档,但是如果该ID的文档在数组中不存在,请在mongodb中使用该ID创建一个文档

时间:2019-10-16 10:27:40

标签: mongodb

我有问题。我有一个文档,其结构是-

{
   _id : ObjectId("5da2de41a6889c3d9893270c"),
   marksAndMetas: [
   {st_id: 1, name: "x", mark: 23 },
   {st_id: 2, name: "y", mark: 24 }
  ]

}

如果存在具有相同marksAndMetas的文档,我想通过st_idst_id数组中更新文档。 但是,如果不存在,我会将带有st_id的文档推入marksAndMetas

1 个答案:

答案 0 :(得分:-1)

您可以使用以下查询来实现

db.getCollection('inventory').update({"marksAndMetas.st_id":1},{$set:{"marksAndMetas.$.name":"z"}})