我是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命令吗?答案 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()方法,该方法自动获取它引用的文档。这使得实现非常简单。