相关套餐:
"dependencies": {
"mongodb": "1.4.x",
"bluebird": "2.3.x"
}
我看了看:
我被困findAsync({})
。
我喜欢一个光标,但我很少见到toArray()
。
我也可能做错了。
MongoClient.connectAsync('mongodb://127.0.0.1:27017/sr')
.then(function(_db) {
db = _db;
return db.collectionAsync('posts');
})
.then(function(colPosts) {
return colPosts.findAsync({});
})
.then ( A MIRACLE OCCURS )
.catch(function(e) {
console.log(e);
})
.finally(function() {
if (db) db.close();
});
奇迹出现的地方我想迭代光标结果或者数组化集合。我在弄清楚如何解决这个问题时遇到了问题。
答案 0 :(得分:1)
据我了解,.findAsync
返回游标的承诺。如果你想将数据拉入内存(与.toArray
一样),我认为你正在寻找的是:
MongoClient.connectAsync('mongodb://127.0.0.1:27017/sr')
.then(function(_db) {
db = _db;
return db
.collection('posts')
.find({})
.limit(limit)
.sort(sort)
.toArrayAsync();
})
.then(function(posts) {
console.log('posts', posts);
})
.catch(function(e) {
console.log(e);
});