Mongodb 更新Mongo上的集合

Mongodb 更新Mongo上的集合,mongodb,Mongodb,假设我有以下几点 db.companies.insertOne({name:“Fresh Apples Inc”,isStartup:true,员工:33,资金:12345678901234567890,详细信息:{ceo:“Mark”},标签:[{title:“super”},{title:“perfect”}],创建日期:新日期(),insertedAt:new Timestamp()}) 现在我需要更新这个,并包括一个新的细节,这样我就有了细节:{ceo:“Mark”,city:“newy

假设我有以下几点

db.companies.insertOne({name:“Fresh Apples Inc”,isStartup:true,员工:33,资金:12345678901234567890,详细信息:{ceo:“Mark”},标签:[{title:“super”},{title:“perfect”}],创建日期:新日期(),insertedAt:new Timestamp()})

现在我需要更新这个,并包括一个新的细节,这样我就有了细节:
{ceo:“Mark”,city:“newyork”}

如何在不丢失“ceo”:“Mark”?

试试看

db.companies.update({"_id" : ObjectId("5c71b362b3458dab6ca76419")},{$set: {"details.city": "New York"}})
试一试


在这种情况下,应该对运算符使用更新操作(、或等效操作)

如果要更新,更新函数中的
参数应如下所示:

{ $set: { "embededDocument.someField": "some value" } }
在此特定情况下,可以使用以下命令:

db.companies.update({ name: "Fresh Apples Inc" }, { $set: { "details.address": "New York" } })

请注意,您应该使用
ObjectId
,因为可能有多个具有相同名称的文档,但我认为这更容易阅读。

在这种情况下,您应该使用带有运算符的更新操作(,或等效操作)

如果要更新,更新函数中的
参数应如下所示:

{ $set: { "embededDocument.someField": "some value" } }
在此特定情况下,可以使用以下命令:

db.companies.update({ name: "Fresh Apples Inc" }, { $set: { "details.address": "New York" } })

请注意,您应该使用
ObjectId
,因为可能有多个同名文档,但我认为这更清楚。

我认为来自官方文档的示例可能会有所帮助:我认为来自官方文档的示例可能会有所帮助:谢谢!非常好,谢谢!工作得很好。