【发布时间】:2014-12-14 03:07:37
【问题描述】:
我想做以下事情,比如说一个简单的群聊应用程序,我们有类似的模型
留言
- 房间:{'model':Room}
房间
- 用户:{'collection':User}
我想要以下:
给定用户 Bob,获取包含 Bob 的房间中的所有消息。
对此合适的 Waterline 查询是什么?
【问题讨论】:
标签: javascript node.js sails.js waterline
我想做以下事情,比如说一个简单的群聊应用程序,我们有类似的模型
留言
房间
我想要以下:
给定用户 Bob,获取包含 Bob 的房间中的所有消息。
对此合适的 Waterline 查询是什么?
【问题讨论】:
标签: javascript node.js sails.js waterline
我不确定我知道你对模型结构的意思,但我想你需要这样的东西:
Message.find({ //Message is your Message model
room:room_id, //or some other identifier
content:{contains:'Bob'}
}).exec(function(error,result){
if(error){
// handle error here
}else{
var messages = result;
//do your stuff.
}
})
如果我对你的意思有误,请告诉我:)
【讨论】:
我建议将用户(鲍勃)的 ID 和房间的 ID 作为字段添加到消息模型中。例如,这可能包含在 MessageModule.js 中:
userId : 'string',
roomId : 'string',
您在一个房间中获取 Bob 的所有消息的查询就像这样简单:
Messages.find({userId: bobs_user_id, roomId: room_id},
function(err, messages){
// all bob's messages from room room_id are available in messages
});
【讨论】: