繁体   English   中英

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

[英]db.collection.find() returning empty array in node.js but works properly in mongo shell

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

/*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
      });
  });
});

任何帮助将不胜感激!

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM