我的MongoDB中有一些词典:
if(op.nextElementSibling().equals(op.lastElementSibling()))
{
...
}
我想创建第三个字典,它只是第一个字典的符号链接:
{
_id: "a",
"content": "hello, you!",
},
{
_id: "b",
"content": "hello, me!",
}
所以字典" c"将只是字典的别名" a"。
MongoDB是否支持此功能?如果没有,是否有最佳实践解决方法?
答案 0 :(得分:1)
也许DBRefs可以满足您的要求
DBRefs是表示文档的约定,而不是特定的引用类型。它们包括集合的名称,在某些情况下还包括数据库名称,以及
_id
字段中的值。DBRefs包含以下字段:
$ref
$ ref字段包含引用文档所在的集合的名称。
$id
$ id字段包含引用文档中_id字段的值。
$db
可选的。
DBRef文档类似于以下文档:
{ "$ref" : <value>, "$id" : <value>, "$db" : <value> }
考虑从创建者字段中存储DBRef的集合中的文档:
{
"_id" : ObjectId("5126bbf64aed4daf9e2ab771"),
// .. application fields
"creator" : {
"$ref" : "creators",
"$id" : ObjectId("5126bc054aed4daf9e2ab772"),
"$db" : "users"
}
}
答案 1 :(得分:0)
似乎manual references确实是第一个行动方案,在大多数情况下都是最好的。
如果您有特殊需求,那么内置的Mongo DBRefs可能是您的解决方案,zangw在他的回答中进行了讨论。