2016-02-15 50 views
0

我有3个集合通过多对多关系相互关联。因此,我有两个问题:流星CRUD多对多关系MongoDB

  1. 我应该在3个集合中每个都有2个数组,或者有3个ID的一个连接集合?
  2. 如何执行读取,插入,更新和删除操作,以确保所有内容的同步性和完整性?

预先感谢任何帮助

回答

0

对于大多数情况下,我可能不得不在每个对象的引用标识,如:

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

如果你的应用程序要具有巨大的规模,我可能会根据实际使用的数据进一步对数据进行非规范化。

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