問題描述
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 }
)
參考解法
方法 1:
You can use 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,...
(by Sanandrea、katy lavallee)