如何在MongoDB中构建“用户朋友”集合?

时间:2020-08-16 20:06:32

标签: node.js mongodb mongoose data-structures nosql

我有一个疑问,那就是像LinkedIn一样,在MongoDB中构建“用户连接”系统的最佳方法是什么。 我有下一个选择,但我不知道将来最好的方法是什么,集合中有数百万行。

  • 选项1:两个集合,用户用户连接 用户连接中的一对一,其字段如下:user_oneuser_twostatus(“待定”,“接受”,“拒绝”,“斑点”)。当用户 请求连接到另一个用户,我只需要在其中插入一个新文档 用户连接集合,但是我有一个问题:我需要关注所有 查询以获取用户在两个字段“ user_one”中的“联系人” user_two,因为两者之间只有一个插入。

  • 选项2:与选项1相同的结构,但不是插入1,而是插入2 插入:第一个是请求,只有一个文档 状态待定,第二个将在此连接处于 公认。两个文档,两个插入,但是当我需要查询用户时 联系人,只需在一个字段中获取信息:user_one

  • 选项3:一对多结构,用户连接将具有一个user_one 字段和联系人字段,用户ID的数组,但要读取另一个 论坛中,建议您不要这样做,因为在 未来。

0 个答案:

没有答案