我正在創建一個實時聊天室。然而,與許多其他可用示例不同,單個聊天室只能由經過身份驗證的用戶訪問,與使用邀請的身份驗證共享該聊天室。Socket.io:當新消息添加到MongoDB數據庫時更新聊天室
步驟如下:
1)添加用戶對邀請:
app.post('/shared', function(req, res){
Room.findOne({_id: req.body._id}. function(err,room){
new_shared = new Shared({room_id: req.body._id, user_id, req.body.user_id});
new_shared.save();
room.shared.push(new_shared);
room.save();
res.send(new_shared);
});
});
2)一旦添加到共享,用戶能夠實時在室溫添加消息僅通過認證的用戶。我們如何實現這一目標?
我想這一點: app.post( '/消息',函數(REQ,水庫,下一個){// 保存消息MongoDB中
// 發出socket函數 - 我們如何API內初始化呢?
}
3)在客戶端,我使用的骨幹JS。因此,一旦添加新消息,我應該在骨幹上調用.fetch()方法來檢索所有消息。
我對Socket.IO相對來說比較新,所以其中一些可能聽起來很愚蠢。