【发布时间】:2016-09-05 22:10:50
【问题描述】:
我想利用 Promise 功能,我可以同步连接到 mongodb,并且可以通过将连接传递给不同的模块来重用连接。
这是我想出的东西
class MongoDB {
constructor(db,collection) {
this.collection = db.collection(collection);
}
find(query, projection) {
if(projection)
return this.collection.find(query, projection);
else
return this.collection.find(query);
}
}
class Crew extends MongoDB {
constructor(db) {
super(db,'crews');
}
validate() {
}
}
我想在我的初始代码中的某处设置一个连接,如下面的那个,然后将连接重用于不同的类,就像猫鼬或僧侣所做的那样,但只使用 node-mongodb-native 包。
MongoClient.connect(url)
.then( (err,dbase) => {
global.DB = dbase;
});
var Crew = new CrewModel(global.DB);
Crew.find({})
.then(function(resp) {
console.log(resp);
});
现在,db 在主要的 MongoDB 类中返回 undefined,并且无法通过 google 或文档对其进行调试。
编辑:我曾假设承诺是同步的,但事实并非如此。
【问题讨论】:
标签: node.js mongodb node-mongodb-native