1

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

我知道 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命令吗?

4

1 回答 1

1

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

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

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

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

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

于 2012-08-30T13:04:34.250 回答