1
如何覆蓋整個文檔,而不是隻更新字段? 這裏是我的方法使用權,但現在不工作:如何覆蓋整個文檔,而不是隻更新字段?
updateFilmTitle: function(req, res) {
var id = req.params.id;
console.log(id);
filmTitleModel.findByIdAndUpdate(id, req.body, {
overwrite: true
}, {
new: true
}, (error, response) => {
if (error) {
res.json(error);
console.error(error);
return;
}
console.log("filmTitle form has been updated!");
res.json(response);
console.log(response);
});
},
這裏我的模型看起來像,
var venueSchema = new Schema({
ticketServiceRequired: { type: Boolean, required: true },
filmSettings: {
type: {
filmContactName: { type: String, required: true },
filmSeatingAmount: { type: Number, required: true },
filmMediaDelivery: { type: Array, required: true },
filmRentalFee: {
price: { type: Number, required: true },
type: { type: String, required: true },
},
}
},
});
只是不使用修飾符,例如'$ set',總是執行這種行爲。 'findByIdAndUpdate(id,req.body,{new:true},(err,response)=> {'。但是,除非你知道你確實是這個意思,否則通常不是很好的做法,它不是原子的,因此也不會這也是爲什麼我們說在單個字段上使用'$ set'的原因,有一個「.replaceOne()」,它不允許修飾符,特別是當你打算這樣一個目的,但這不會返回修改後的文件。 –
findByIdAndUpdate(id,req.body,{new:true},(err,response)=> { 這個dint覆蓋文件:( – kaws
It對於我們其他人來說,你還有其他的問題,正如我在其他問題上已經指出的那樣, –