我目前正在努力完成一项任务,可以通过简单的JOIN在关系数据库中轻松解决。
我有一个集合user_relations
,它存储系统中用户之间的关系,实质上是将集合users
中的文档引用存储为一个简单的_id
。现在,我们需要用户能够在与他/她相关的用户之间进行搜索。你是如何在mongo中实现这一点的(考虑到用户可以拥有大量相关用户 - 朋友/粉丝/等),还是考虑到了性能?
答案 0 :(得分:2)
你不能在mongodb本身加入集合。
相反,您需要构建数据库设计,以便在示例中说user_relations
是users
的属性。
或者 - 如果您拥有要获取的用户的密钥/ _ids,则在客户端应用程序中有效地执行连接。
因为您无法在服务器上执行这些连接,所以它实际上会强制您考虑要返回的确切信息。
您可以轻松传递要返回的用户_id数组,并使用$in
运算符返回一组用户文档。
希望有所帮助。