mongodb数据库参考

时间:2012-08-30 12:41:55

标签: mongodb mongodb-java

我是mongodb的新手。我需要使用主键和外键概念链接两个集合,例如在relationaldb中。

我知道mongodb不支持连接。

comments
 { uid:12345, pid:444, comment="blah" }
 { uid:12345, pid:888, comment="asdf" }
 { uid:99999, pid:444, comment="qwer" }

users
 { uid:12345, name:"john" }
 { uid:99999, name:"mia"  }

在评论集合中,uid - >主键,在用户中,uid - >外键。

如何在插入集合时在mongodb中解决这种关系? 怎么参考呢?

你可以给我发一个mongodb命令吗?

1 个答案:

答案 0 :(得分:1)

使用MongoDB时常见的新手错误是将其视为关系数据库。

您通常不需要MongoDB中自己的ID,因为每个文档都自动拥有_id字段(这是一个GUID)。

要引用MongoDB中的另一个实体,可以使用DBRef对象。因此,每个评论文档都应该有一个字段“author”,它是用户集合中文档的DBRef。或者,您可以使用要引用的对象的GUID作为“author”的值。

有关详细信息,请参阅http://docs.mongodb.org/manual/applications/database-references/

关于将文档及其引用的文档放在一起:您必须在加载文档时在应用程序级别上执行此操作。 MongoDB Java驱动程序中的DBRef类具有fetch()方法,该方法自动获取它引用的文档。这使得实现非常简单。