簡體   English   中英

如何在MongoDB中手動添加引用?

[英]How do I manually add a reference in MongoDB?

我在開發過程中使用node.js web-front-end訪問MongoDB文檔。

我現在得到以下文件:

{
   "_id": ObjectID("500abe6a25dff13c7c000001")
    , "username": "kyogron"
    , "email": "kyogron@example.de"
    , "contacts": [ObjectID("500abe6a2543213c7c000002")] // this should contain other user's id
}

我現在想要在前端實現該功能之前手動將另一個user_id添加到contacts數組。

如上所示,我已經嘗試使用ObjectID關鍵字嘗試此操作,但這不起作用...

這對我來說是MongoDB shell,我使用$addToSet而不是$push因為我假設你想避免欺騙:

var o = new ObjectId();
db.foo.update({}, {$addToSet : {"contacts" : o}});
var o = new ObjectId();
db.foo.update({}, {$addToSet : {"contacts" : o}});

這給了我一個看起來像這樣的文檔(我的foo集合只包含你的樣本,所以我沒有必要具有特定的匹配條件):

{
    "_id" : ObjectId("500c2118c78bb07bfbb69eb3"),
    "contacts" : [
        ObjectId("500c20efc78bb07bfbb69eb2"),
        ObjectId("500c227ac78bb07bfbb69eb6")
    ],
    "email" : "kyogron@example.de",
    "username" : "kyogron"
}

在mongo shell中運行以下更新:

db.collection.update({"_id" : ObjectId("500abe6a25dff13c7c000001")},
                     {$push:{"contacts": ObjectId("500abe6a2543213c7c000002")}})

為您的特定情況使用適當的ObjectId值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM