首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >db.collection.find()在node.js中返回空数组,但在mongo shell中工作正常

db.collection.find()在node.js中返回空数组,但在mongo shell中工作正常
EN

Stack Overflow用户
提问于 2021-05-14 04:05:28
回答 1查看 42关注 0票数 1

所以从本质上讲,我试图通过查询属性"uid“来查找特定的文档。我从url获取"uid“,然后基于它我想呈现一个不同的视图,并从find()函数传递文档,但它只是返回一个空数组。正如我用console.log语句确认的那样,可以正确地从url中获取"uid“,但是当我查找从console.log ()得到的文档时,它是空的!我之所以感到困惑,是因为当我在mongo shell中运行命令时,它会返回正确的文档。

代码语言:javascript
运行
复制
/*GET UserDetails page.*/ 
router.get('/userdetails', function(req, res) {
  var queryID = req.query.uid;
  //console.log(queryID);
  var db = req.db;
  var collection = db.get('usercollection');
  collection.find({"uid" : queryID},{},function(e,docs){
      //console.log(docs);
      res.render('userdetails', {
          "userinfo" : docs
      });
  });
});

任何帮助都将不胜感激!

EN

回答 1

Stack Overflow用户

发布于 2021-05-14 04:13:36

我认为db.get会返回承诺,所以你需要等待db.get语句,或者你应该使用.then来捕获响应。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67525552

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档