小编Sai*_*Sai的帖子

社交应用程序的多对多关系:像Neo4j这样的Mongodb或图形数据库

我试图了解嵌入Mongodb,但找不到足够好的文档.不建议链接,因为写入在文档中不是原子的,并且还有两个查找.有人知道如何解决这个问题,或者你建议我去像neo4j这样的图表dbs.

我正在尝试构建一个需要多对多关系的应用程序.为了解释,我将以图书馆为例.它可以根据他的朋友正在阅读的书籍以及用户正在阅读的邻居(像头脑一样)向用户推荐书籍.

有用户和书籍.用户借书并拥有其他用户的朋友

  1. 鉴于用户,我需要他正在阅读的所有书籍以及该书的共同朋友数量
  2. 鉴于一本书,我需要所有阅读它的人.可以给用户A,这将返回人们阅读书籍和用户A的朋友.这是相互的友谊

用户= [

       { name: 'xyz', 'id':'000000', friend_ids:['949583','958694']}

       { name: 'abc', 'id':'000001', friend_ids:['949582','111111']}

      ]
Run Code Online (Sandbox Code Playgroud)

书籍= [

      {'book':'da vinci code', 'author': 'dan brown', 'readers'=['949583', '000000']}

      {'book':'iCon', 'author': 'Young', 'readers'=['000000', '000001']}

      ]
Run Code Online (Sandbox Code Playgroud)

如上所示,通常我需要两个文件,如果我采用mongo DB,因为我可能双向查找.将文档复制(嵌入)到另一个文档可能导致大量的重复(这些模式可以存储比显示的更多的信息).

我是否正确建模数据?这可以在mongodb中有效地完成,还是应该查看图形dbs.

many-to-many mongodb graph-databases

2
推荐指数
2
解决办法
1949
查看次数

标签 统计

graph-databases ×1

many-to-many ×1

mongodb ×1