2014-10-18 134 views
0

我要做到以下几点,可以说一个简单的群聊应用程序,我们有模型,如Sails.js水线查询

消息

  • 房间:{“模式”:房}

  • 用户:{ '收集':用户}

我想要以下内容:

给定一个用户Bob,获取包含Bob的房间中的所有消息。

这是什么适当的水线查询?

回答

0

我不知道我知道你的意思是你的模型结构,但我猜你需要的东西是这样的:

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. 
    } 
}) 

如果我错了,你的意思,请让我知道: )

0

我建议在消息模型中添加用户(Bob's)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 
});