javascript - MongoDB collection.find() 查询挂起

标签 javascript node.js mongodb express

我正在尝试通过用户名进行查询以查找用户,如下所示:

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/

相关文章:

c# - 如何使用 MongoDB 访问深层嵌套数组(ASP.NET Core 2.2)

ruby-on-rails - Solr Sunspot - 重新索引对象不会自动运行

javascript - PHP 在 ajax 调用中显示脚本的响应

node.js - Express 中间件无法捕获 async/await 抛出的错误,但为什么呢?

node.js - Nodejs 子进程在容器 docker 中生成

node.js - 使用 $match 和 $lookup 检索数据

Javascript 发送 Json 数据

java - 在服务器上渲染和导出 FusionCharts

javascript - NodeJS http 和非常大的响应体

node.js - Node.js 和 Redis 服务器有问题吗?