从mongodb打印查询时出现问题

时间:2012-07-06 10:00:39

标签: javascript json node.js mongodb express

我正在尝试学习更多aboute node.js(快速框架)和mongodb(官方驱动程序)。

我有这段代码

  db.open(function(err,db){
    if(!err){
      console.log ('we are connected');

      db.collection('post',function(err,collection){

        collection.find(function(err,posts){
          if(!err){
          res.json(posts);
          }
        });

     });

  }
 });

它应查询数据库并打印结果。但我无法弄清楚如何以json格式将查询打印到浏览器。

我已经尝试过JSON.stringify,但没有任何结果:(

这样做的:

    collection.find().toArray(function(err,posts){
      if(!err){
        res.json(posts);
      }
    });

(注意toArray函数)它有效,但我听说这是一个不好的做法,因为浪费了大量的内存。

有没有更有效的方法呢?

1 个答案:

答案 0 :(得分:1)

您还可以使用游标方法.each().nextObject()一次对单个文档进行操作,而不会将所有内容都放入内存中的数组toArray()

详细信息:https://github.com/mongodb/node-mongodb-native/#find