mongodb指向另一个集合的项目

时间:2012-12-28 11:21:19

标签: mongodb nosql

是否可以从一个集合的项目的值指向另一个集合的项目?

示例:

db.col2.save( { value: 'test' } );
db.col1.save( { title: 'testing, something: [code to point to another collection's item] } );

db.col1.find().toArray()

[
        {
                "_id" : ObjectId([someobjectidhere]),
                "title" : "testing",
                "something": {
                        "value": "test"
                }
        }
]

2 个答案:

答案 0 :(得分:3)

是的,您可以指向另一个文档,但与SQL不同,您无法同时检索两者。 因此,您需要进行2次检索。一个获取第一个文档(然后在代码中提取引用),然后使用此引用获取第二个文档

答案 1 :(得分:2)

MongoDB不支持联接。在MongoDB中,一些数据被“非规范化”,或者与文档中的相关数据一起存储以消除对连接的需要。但是,在某些情况下,将相关信息存储在单独的文档中是有意义的,通常是在不同的集合或数据库中。

您可以参考DBRef here

的文档