2016-03-01 67 views
0

我的MongoDB有一些字典中它:MongoDB是否有符號鏈接?

{ 
    _id: "a", 
    "content": "hello, you!", 
}, 

{ 
    _id: "b", 
    "content": "hello, me!", 
} 

我想創建第三個字典,僅僅是一個符號鏈接到第一詞典:

{ 
    _id: "c", 
    "link_id": "a", 
} 

所以詞典「C」將是什麼不僅僅是字典「a」的別名。

MongoDB支持嗎?如果沒有,是否有最佳實踐解決方法?

回答

0

似乎manual references確實是第一:

{ "$ref" : <value>, "$id" : <value>, "$db" : <value> } 

從存儲在DBREF在創建者字段集合考慮一個文件行動方針,並且在大多數情況下是最好的。

如果您有特殊需求,那麼內置的Mongo DBRefs可能是您的解決方案,zangw在他的回答中討論。

1

也許DBRefs能滿足您的要求

是DBREFS用於表示文檔的約定,而不是具體的引用類型。除了_id字段中的值之外,它們還包括集合的名稱以及某些情況下的數據庫名稱。

有DBREFS以下字段:

$ref 的$裁判字段保存在引用文檔所在的集合的名稱。

$id $ id字段包含被引用文檔中_id字段的值。

$db 可選。

DBREF文件類似於以下文件:

{ 
    "_id" : ObjectId("5126bbf64aed4daf9e2ab771"), 
    // .. application fields 
    "creator" : { 
        "$ref" : "creators", 
        "$id" : ObjectId("5126bc054aed4daf9e2ab772"), 
        "$db" : "users" 
       } 
} 
+0

雖然Mongo建議在大多數情況下使用[手動引用](https://docs.mongodb.org/manual/reference/database-references/#manual-references),但這很酷。看起來,如果所有東西都在同一個集合中,那麼使用DBRefs就沒有附加價值。 – mareoraft

相關問題