nodejs在mongodb中找到结果

时间:2013-01-25 12:51:01

标签: node.js mongodb

我正在尝试获取查询结果,但我在所有变量中获得相同的信息:db,collection和res:

var mongodb = require("mongodb");
var mongoserver = new mongodb.Server("localhost", 27017);
var instance = new mongodb.Db("test", mongoserver);

instance.open(function(err, db)
{
  console.log('db:');
  console.log(db);
  db.collection('kurtsoa', function(err, collection)
  {
    console.log('collection:');
    console.log(collection);
    collection.find({}, function(err, res)
    {
      console.log('res:');
      console.log(res);
    });
  });
});

我怎样才能得到“发现”的结果?

2 个答案:

答案 0 :(得分:19)

.find()会返回Cursor个对象供您使用。如果您感兴趣的是将所有结果都放在一个数组中,您可以这样做:

collection.find().toArray(function(err, docs) {
    console.log(docs);
});

但你也可以迭代光标:

collection.find().each(function(err, doc) {
    //called once for each doc returned
});

答案 1 :(得分:1)

您可以使用:

 collection.find().toArray(function(err, docs){
                console.log(docs);
    )};