我正在嘗試更新我的文檔以刪除我正在前端進一步測試的一些字段,我用以下方法刪除了這些字段:delete myObject.myField;因此,當我在貓鼬之前查看它時,findByIdAndUpdate它確實沒有這些字段,然后我嘗試像這樣更新:Journee.findByIdAndUpdate(req.params.id, journee, {new: true, overwrite: true, runValidators: true, context: 'query'}, ) .then(() => { res.status(200).json() }) .catch(err => { res.status(400).json({ err }) })但是當我像這樣使用覆蓋選項時,它會觸發我的唯一驗證器并返回錯誤。我不明白如何實現我的目標,在我看來,這mongo是創建一個重復的文檔,然后抑制舊的文檔或類似的東西。而不是僅僅清空文檔并用新數據填充它。
Mongoose 更新完全替換以前的文檔
慕森王
2023-07-20 10:24:56