SQL外键如Meteor中的行为 - MongoDB

时间:2013-01-04 02:39:34

标签: javascript mongodb meteor

有没有人知道如何在Meteor(javascript网络框架)中实现外键行为?

我认为MongoDB的工作方式与sqlite3或MySQL不同。我还在某处读到,除了使用外键之外,有一种方法可以实现这一目标。

2 个答案:

答案 0 :(得分:4)

MongoDB是一个文档存储,而不是关系数据库。因此,没有具有级联更新等功能的外键概念。但是,您仍然可以通过其_id(这类似于主键)从另一个文档中引用一个文档。因此,您可以使用包含以下文档的用户集合:

{
  _id: "myId",
  name: "Rahul",
  locationId: "some_location_id"
}

如果您想了解有关该位置的更多信息,可以在Location集合中搜索_id等于您在用户文档中存储的locationId的文档。

有关如何处理此问题的详情,请参阅Foreign keys in mongo

答案 1 :(得分:1)

As a non-relational database,Mongo不支持传统关系数据库之类的连接。然而,作为一个文档数据库,Mongo allows document nesting可以很好地实现你想要的,而不需要传统的连接。

也就是说,Meteor核心组have a plan可以轻松地允许订阅中的联接,以及support for traditional relational databases