我有一个疑问,那就是像LinkedIn一样,在MongoDB中构建“用户连接”系统的最佳方法是什么。 我有下一个选择,但我不知道将来最好的方法是什么,集合中有数百万行。
选项1:两个集合,用户和用户连接
用户连接中的一对一,其字段如下:user_one
,user_two
,
status
(“待定”,“接受”,“拒绝”,“斑点”)。当用户
请求连接到另一个用户,我只需要在其中插入一个新文档
用户连接集合,但是我有一个问题:我需要关注所有
查询以获取用户在两个字段“ user_one
”中的“联系人”
user_two
,因为两者之间只有一个插入。
选项2:与选项1相同的结构,但不是插入1,而是插入2
插入:第一个是请求,只有一个文档
状态待定,第二个将在此连接处于
公认。两个文档,两个插入,但是当我需要查询用户时
联系人,只需在一个字段中获取信息:user_one
选项3:一对多结构,用户连接将具有一个user_one
字段和联系人字段,用户ID的数组,但要读取另一个
论坛中,建议您不要这样做,因为在
未来。