Node.js 如何在MongoDB中塑造友谊?

Node.js 如何在MongoDB中塑造友谊?,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我想在我的项目中使用MongoDB和Node.js。我需要的是,为友谊关系的数据库建模(User1跟随User2)。在关系数据库中这很容易,但我不知道如何使用MongoDB实现这一点。我还将使用RESTAPI,因此我应该能够通过RESTAPI建立关系 编辑: 这是个好办法吗 following: [[{ type: Schema.Types.ObjectId, ref: 'User' }]] 如果我这样做了,我应该同时保存跟随者和跟随者吗?我遇到了太多的递归错误。您能否在每个用户上维护一个fo

我想在我的项目中使用MongoDB和Node.js。我需要的是,为友谊关系的数据库建模(User1跟随User2)。在关系数据库中这很容易,但我不知道如何使用MongoDB实现这一点。我还将使用RESTAPI,因此我应该能够通过RESTAPI建立关系

编辑:

这是个好办法吗

following: [[{ type: Schema.Types.ObjectId, ref: 'User' }]]

如果我这样做了,我应该同时保存跟随者和跟随者吗?我遇到了太多的递归错误。

您能否在每个用户上维护一个followdby和followdby用户ID列表,并在添加新关系时更新这些列表


实际上,由于缺乏关系支持,您正在对该数据进行非规范化处理。

您希望如何处理这些数据

你可能想检查一下

您想要的是交换关系吗?也就是说,它是一个“跟随”系统,一个不一定是相互的Twitter,还是一个“朋友”关系,一个需要接受请求的Facebook?跟随系统,不需要请求。是的,我只是持有每个用户的用户ID。如果我需要细节怎么办?我想我应该请求关注者的用户详细信息,比如/users/:userid/followers,这对我来说是一个合理的restful Url。发布到该url以添加追随者。