Mongodb mongo在更新中引用当前对象值

Mongodb mongo在更新中引用当前对象值,mongodb,Mongodb,我有很多有结构的文档: [{ foo: [{ x: 1, y: 1, z: "foo" }, { x: 2, y: 9, z: "bar" }] }] 我需要一个更新命令,根据foo中匹配对象的值将新对象添加到foo数组中 例如: db.documents.updateMany({"foo.x":1}, {$addToSet:{"foo":{x:999,

我有很多有结构的文档:

[{
  foo: [{
    x: 1,
    y: 1,
    z: "foo"
  }, {
    x: 2,
    y: 9,
    z: "bar"
  }]
}]

我需要一个更新命令,根据
foo
中匹配对象的值将新对象添加到
foo
数组中

例如:

db.documents.updateMany({"foo.x":1}, {$addToSet:{"foo":{x:999, y:foo.$.y, z:foo.$.z}}})

更准确地说,我必须复制匹配的元素,但用自定义输入替换一个字段

可以在一个命令中执行吗?或者至少如何以最好的方式做到这一点?查找每个项目的find.forEach+更新