0
所以我使用Mongoose的findOneAndUpdate来更新文档中的键值。我需要将该数字加1。如果它不在那里,它应该创建一个新文档。它在Node中的后路由中。MongoDB:等待可用套接字挂起
我有信息去点击按钮后的路线。我的应用程序要求用户连续多次单击按钮,并在浏览器底部获得Waiting for available sockets...
,并且所有内容都会挂起。
我只是在我的本地主机上执行此操作。在曾经的一切“unhangs”的要求,我得到以下错误在我的控制台的末尾: POST http://localhost:3000/api/songsqueued net::ERR_EMPTY_RESPONSE
这是布线后我的工作:
router.post('/api/songsqueued', function(req, res){
Song.findOneAndUpdate({songId: req.body.songId}, { $inc:{queueTimes: 1} },
function(err, song){
if (err) {
return console.log("Error: " + err)
}
if(song){
song.queueTimes += 1;
song.save(function(err){
if(err){
console.log(err)
} else {
console.log("updated fam")
}
});
} else {
var song = new Song();
song.artistName = req.body.artistName;
song.titleName = req.body.titleName;
song.songId = req.body.songId;
song.songImg = req.body.songImg;
song.save(function(err) {
if (err) {
console.log("Error: " + err)
} else {
console.log("created fam")
}
})
console.log(song);
return res.json({message: "SongCreated"})
}
})
})
如何弥补任何想法这个?
您能向我们展示查询以及设置响应的位置吗? –
@ExplosionPills我编辑它以显示我制作的POST路线 –
您只在创建新歌曲时设置响应;如果某首歌曲出现错误或更新,您不会发送回复 - 这是导致它挂起的原因 –