위의 답변 중 블루 버드 나 q 또는 다른 멋진 라이브러리없이이 작업을 수행하는 방법을 언급하지 않았으므로 여기에 2 센트를 추가하겠습니다.
네이티브 ES6 프라 미스로 삽입하는 방법은 다음과 같습니다.
'use strict';
const
constants = require('../core/constants'),
mongoClient = require('mongodb').MongoClient;
function open(){
let url = constants.MONGODB_URI;
return new Promise((resolve, reject)=>{
mongoClient.connect(url, (err, db) => {
if (err) {
reject(err);
} else {
resolve(db);
}
});
});
}
function close(db){
if(db){
db.close();
}
}
let db = {
open : open,
close: close
}
module.exports = db;
내 open () 메서드를 약속을 반환하는 것으로 정의했습니다. 삽입을 수행하려면 아래 코드 스 니펫이 있습니다.
function insert(object){
let database = null;
zenodb.open()
.then((db)=>{
database = db;
return db.collection('users')
})
.then((users)=>{
return users.insert(object)
})
.then((result)=>{
console.log(result);
database.close();
})
.catch((err)=>{
console.error(err)
})
}
insert({name: 'Gary Oblanka', age: 22});
도움이되기를 바랍니다. 더 나아질 수있는 제안이 있으면 나 자신을 개선 할 의향이 있으므로 알려주세요. :)