사용법 변경
기존에 사용하던 new mongodb.ObjectId(this._id)은 VS Code에서 취소선이 나타난다. 이유를 봤더니 사용 함수가 변경된 것이다. 이를 해결하기 위해서는 다음과 같이 처리하면 된다.
기존의
const mongodb = require('mongodb'); 은
const { ObjectId } = require('mongodb'); 으로 변경 하고
기존에
save() {
const db = getDb();
let dbOp;
if (this._id) {
dbOp = db
.collection('products')
.updateOne({ _id: new mongodb.ObjectId(this._id) }, { $set: this });
} else {
dbOp = db.collection('products').insertOne(this);
}
return dbOp
.then(result => {
console.log(result);
})
.catch(err => {
console.log(err);
});
}
이렇게 사용하던 코드는 다음과 같이 변경 하면 된다.
save() {
const db = getDb();
let dbOp;
if(this._id) { // 상품이 이미 있으면 - 업데이트
dbOp = db
.collection('products')
.updateOne({ _id: ObjectId.createFromHexString(this._id)}, { $set: this }); // 상품 수정
} else { // 상품이 없으면 - 추가
dbOp = db.collection('products').insertOne(this); // 상품 추가
}
return dbOp
.then(result => {
console.log(result);
})
.catch(err => console.log(err));
}