MongoDB 更新 ObjectId 字段

MongoDB update ObjectId field

我有一个文档,其属性是一个 ObjectId。例如下面代码中的锚字段:

{ "__v" : 0, "_id" : ObjectId("5654d896481c5186ddaf4481"), "anchor" : ObjectId("565480e5481c5186ddaf446c"), "base_url" : "http://example.com"}

我看过文档 here 但不清楚如何更新 ObjectId 引用字段。我希望此引用仅指向另一个 anchor 文档,我可以将 ObjectId 放置为这样的字符串吗:

db.categories.update(
   { },
   {
      $set {anchor: "5654d47a481c5186ddaf4479"}
   },
   { multi: true }
)

您可以使用 ObjectId():

db.categories.update(
   { },
   {
      $set: { anchor: ObjectId("5654d47a481c5186ddaf4479") }
   },
   { upsert: true }
)

https://docs.mongodb.org/manual/reference/object-id/#core-object-id-class

The mongo shell provides the ObjectId() wrapper class to generate a new ObjectId,...