NodeJS + Mongo – 如何获取集合的内容?

我正在用mongo写一个简单的NodeJS应用程序。 为了连接到mongo我使用:

var mongo = require('mongodb'), Server = mongo.Server, Db = mongo.Db, ObjectID = require('mongodb').ObjectID; db.open(function(err,db) {...}; 

所以,我有数据库“文档”,并创build了一个名为“公司”的集合。 现在它有4个对象(logging)。 我想以数组的forms获取这个集合的全部内容,并逐行显示它们:

 //get companies list app.get('/companies',function(req,res){ db.collection("companies",function(err,collection){ collection.find({},function(err, companies) { companies.forEach(function(err,company){ console.log (company); } ); }); }); }); 

但是,Node返回这样的错误:

 TypeError: Object #<Cursor> has no method 'forEach' 

有任何想法吗? 提前致谢。

传入您的findcallback的companies参数是一个Cursor对象,而不是一个数组。 对它调用toArray将查询结果转换为一个对象数组,或者each对象each处理一个结果。

使用.each而不是forEach