使用本机ES6承诺我知道,对于蒙戈节点驱动程序可以使用外部库是promisified。我很好奇,看看是否ES6承诺可以与MongoClient.connect
使用,所以我想这(使用巴贝尔23年5月8日至transpile):用MongoDB的
import MongoClient from 'mongodb';
function DbConnection({
host = 'localhost',
port = 27017,
database = 'foo'
}) {
return new Promise((resolve, reject) => {
MongoClient.connect(`mongodb://${host}:${port}/${database}`,
(err, db) => {
err ? reject(err) : resolve(db);
});
});
}
DbConnection({}).then(
db => {
let cursor = db.collection('bar').find();
console.log(cursor.count());
},
err => {
console.log(err);
}
);
输出为{Promise <pending>}
。任何与游标有关的事情似乎都会产生类似的结果。有没有办法解决这个问题,还是我完全吠叫错误的树?
编辑:节点版本4.1.0。
良好的悲伤。谢谢,显然我一直在盯着它太久了! –
我们都有这些时间:) – loganfsmyth
IME,不需要'err => {console.log(err}' - 只需将'console.log'放入'.then'错误参数 – Alnitak