我正在尝试通过用户名进行查询以查找用户,如下所示:
userRouter.get('/user/:user_username', function(req, res) {
console.log("GET request to '/user/" + req.params.user_username + "'");
User.find({ usernmame: req.params.user_username }, function(err, user) {
if (err) res.send(err); return;
res.json(user);
});
});
查询永远不会完成,Chrome 开发工具在请求中显示“待处理”。它肯定会走那条路线,因为它会打印我在开始时记录的控制台消息。我在 mongo cli 中执行了相同的查询并且它有效。我尝试在回调主体中记录消息,但它永远不会达到这一点。我现在不知所措。
最佳答案
这是因为 if (err) res.send(err); return;
被评估为
if (err) {
res.send(err);
}
return;
要解决此问题,请考虑添加一些大括号。
关于javascript - MongoDB collection.find() 查询挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29212938/