Express.js collection.find()返回Object

时间:2014-12-11 05:06:12

标签: javascript json node.js mongodb express

我想显示存储在我的mongodb中的每个文件。我尝试下面的代码,只需获取collection.find()并通过res.send()

显示
router.get('/index', function(req,res){
var db = req.db
var collection = db.get('usercollection')

var display = util.inspect(collection.find()));
res.send(display);
});

我希望它能显示存储在mongodb中的实际文档。但相反,它显示了这种对象格式:

{cold:{manager:{driver:[Object], helper:[Object], collection:[Object].....

显示原始mongodb文档是否还需要其他步骤?

1 个答案:

答案 0 :(得分:1)

如果您使用的库是official 10gen library,那么您无法在不展开的情况下输出collection.find()。对较小数据集执行此操作的最简单方法是

collection.find().toArray(function(err, results) {
  if (err) {
      // do something error-y
  } else {
      res.send( results );
  }
});

如果您发布了更多代码,并使用您正在使用的库标记问题,那么您将能够获得更有针对性的帮助。如果您使用的库返回promise,这可能是您放松它的方式:

collection.find().then(function(results){
    res.send(results);
}).catch(function(err){
    console.error(err);
});