Javascript 是否可以更新对象中包含的值

Javascript 是否可以更新对象中包含的值,javascript,mongodb,mongoose,javascript-objects,Javascript,Mongodb,Mongoose,Javascript Objects,我的数据库实际上是这样的: { object1: { object2: { enabled: false, string: "foo" }, object3: { enabled: true, string: "bar" } } } 我想更新对象2的已启用:,而不更改的“foo”值 我试过这个: data.updateOne({ object1: { object2:

我的数据库实际上是这样的:

{
  object1: {
    object2: {
      enabled: false,
      string: "foo"
    },
    object3: {
      enabled: true,
      string: "bar"
    }
  }
}
我想更新
对象2的
已启用:
,而不更改
的“foo”

我试过这个:

data.updateOne({ object1: { object2: { enabled: true } } });
但它会更改所有的
object2
,删除
object3
,并删除
object2
字符串
值。 如何在不完全更改数据库的情况下更新数据库?

您应该使用:

要在嵌入文档或数组中指定,请使用点表示法

data.updateOne({ query }, { $set: { "object1.object2.enabled": true } });