我正在尝试这样做:
我有一个用户模型,一个消息模型
对于某个用户,他/她可能有很多消息(存储在数组中)。
现在我想获取用户收到的所有消息,但需要检查发送消息的用户是否仍在数据库中。
过程是:
用户有一个收件箱,它是一个数组,并存储其他人发送给用户的所有邮件。
该消息包含from_user,它是已发送用户的id(字符串)。如果删除了该用户,则该消息将保留在系统中。
所以我想做一个这样的查询:
Message.find(thisUser.inbox).where(用户的id存在于模型中)
这意味着在从消息模型获取记录时检查用户的ID是否存在
我该怎么做?
谢谢!
答案 0 :(得分:0)
您描述的功能类似于联接。在MongoDB中,有两种替代方法,
我认为第一种选择在这里是脱离背景的。
所以我建议的解决方案是
user = User.find(user_id)
messages = Message.where(user_id: user.id)