我做了一个类名 Chocolate,并在里面放了一些 mongodb 函数,所以我需要创建一个连接,并从回调中获取 db,这样我的代码就变得丑陋了
代码:
let chocolate = new Chocolate(url,
db => {
chocolate.insert("en", { "h": 1 }).disconnect();
})
类代码在这里:
class Chocolate {
constructor(url, callback) {
this.url = url;
this.connect()
.then(db => {
this.db = db;
callback(db);
});
}
connect(callback) {
return MongoClient
.connect(this.url);
}
disconnect() {
this.db.close();
}
insert(className, dataObject) {
const collection = this.db.collection(className);
collection.insert(dataObject)
.then(
result => {
return result.insertedIds;
});
return this;
}
}
我知道 orm 可以帮助我,但我不想使用一些 orm。因为我只需要一点功能。
那么,如何让这些代码变得漂亮呢?
或者像这样:
let chocolate - new Chocolate(url);
chocolate.insert(xxxx).find(xxxx).run().disconnect()