流星CRUD多对多关系MongoDB

时间:2016-02-15 15:10:12

标签: mongodb meteor many-to-many crud

我有3个通过多对多关系互连的集合。因此,我有两个问题:

  1. 我应该在3个集合中的每个集合中有2个ID包含2个ID,还是一个包含3个ID的连接集合?
  2. 如何执行读取,插入,更新和删除操作,以确保一切正常并保持完整性?

1 个答案:

答案 0 :(得分:0)

对于大多数情况,我可能在每个对象上都有引用ID,如下所示:

{
  "_id": "123",
  "firstReferenceCollectionId": "abc",
  "secondReferenceCollectionId": "def"
}

如果您的应用程序规模很大,我可能会根据数据的实际使用情况进一步对数据进行反规范化。

要回答你的第二个问题,你真的不需要担心上述方法,因为当这些对象上的其他属性发生变化时,引用的内部id不会改变。如果您采用其他非规范化的路径,请使用meteor add matb33:collection-hooks同步upsert上的数据。这是文档链接:https://github.com/matb33/meteor-collection-hooks