【发布时间】:2017-11-25 05:26:56
【问题描述】:
在我的消息应用中,我想重新加载其他用户的页面,以便实时添加消息
有什么办法可以重新加载其他用户的'/profile/chat/:username/:id/'路由,因为消息添加正确但只能看到来自mongodb其他用户页面的新收到的消息刷新页面后** ***这是我的路线*
router.post('/profile/chat/:username/:id/send',isLoggedIn,
function(req,res){
User.findById(req.user._id,function(err,primaryUser){
if (err) {
console.log(err);
} else {
if (primaryUser.messages.some((message) => message.id.toString() ===
req.params.id.toString())) {
User.findOneAndUpdate({username:req.user.username,
"messages.id":req.params.id},
{$push:
{"messages.$.texts":
{
message:req.body.message,
username:req.user.username
}
}
},function(err,user){
if (err) {
console.log(err);
} else {
User.findOneAndUpdate({username:req.params.username,
"messages.id":req.user.id},
{$push:
{"messages.$.texts":
{
message:req.body.message,
username:req.user.username
}
}
},function(err,user){
if (err) {
throw err;
} else {
//What should do here?
//so i can reload '/profile/chat/:username/:id/' route of other
//user
console.log("Debugg Point 3");
}
})
console.log("Debugg Point 4");
res.redirect("back");
}
})
}
else {
var primarySpace = {
id:req.params.id,
User:req.params.username
}
primaryUser.messages.push(primarySpace);
primaryUser.save();
User.findById(req.params.id,function(err,secondaryUser){
if (err) {
console.log(err);
} else {
var secondarySpace = {
id:req.user._id,
User:req.user.username
}
secondaryUser.messages.push(secondarySpace);
secondaryUser.save();
User.findOneAndUpdate({username:req.user.username,
"messages.id":req.params.id},
{$push:
{"messages.$.texts":
{
message:req.body.message,
username:req.user.username
}
}
},function(err,user){
if (err) {
throw err;
} else {
User.findOneAndUpdate({username:req.params.username,
"messages.id":req.user.id},
{$push:
{"messages.$.texts":
{
message:req.body.message,
username:req.user.username
}
}
},function(err,user){
if (err) {
throw err;
} else {
console.log("Debugg Point 1");
}
})
console.log("Debugg Point 2");
res.redirect("back");
}
})
}
})
}
}
})
})
【问题讨论】:
标签: node.js mongodb sockets http express