我正在尝试连接到mongoDB数据库,并在集合上创建一些进程,并在处理完所有集合项后关闭集合。当我试图接收array.length时,我得到未定义。如何获得节点js中的mongoDB集合大小?
Db = require('mongodb').Db;
Server = require('mongodb').Server;
const db = new Db(DB_NAME, new Server(HOST, PORT));
// connect to mongoDB
db.open(function (err, db) {
const Collection = db.collection(COLLECTION_NAME);
var items = Collection.find({});
var itemsLength = items.lebgth;
var itemsProcessed = 0;
items.forEach((item, index, array) => {
// some process like:
Collection.update({query}, {set}, callback)
itemsProcessed++;
if(itemsProcessed == array.length){
db.close();
// close connection if all items were processed
}
});
});
有没有其他方法可以做到这一点?
错字在'items.lebgth'。 – str
items是游标,所以你需要执行像:'var items = Collection.find({})。toArray();' –