第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Mongoose 更新完全替換以前的文檔

Mongoose 更新完全替換以前的文檔

慕森王 2023-07-20 10:24:56
我正在嘗試更新我的文檔以刪除我正在前端進(jìn)一步測試的一些字段,我用以下方法刪除了這些字段:delete myObject.myField;因此,當(dāng)我在貓鼬之前查看它時,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 })            })但是當(dāng)我像這樣使用覆蓋選項時,它會觸發(fā)我的唯一驗證器并返回錯誤。我不明白如何實現(xiàn)我的目標(biāo),在我看來,這mongo是創(chuàng)建一個重復(fù)的文檔,然后抑制舊的文檔或類似的東西。而不是僅僅清空文檔并用新數(shù)據(jù)填充它。
查看完整描述

1 回答

?
莫回?zé)o

TA貢獻(xiàn)1865條經(jīng)驗 獲得超7個贊

如果我理解得很好,您想刪除一些字段并用新字段更新文檔。

所以我認(rèn)為更好的方法是使用$unset.?

您可以從$unset文檔中刪除任何字段。

這里有一個例子

通過這樣的查詢:

db.collection.update({

? "id": 1

},

{

? "$unset": {

? ? "field1": "",

? ? "field3": ""

? }

})

您可以找到您想要的文檔(例如使用id或任何您想要的)。然后$unset根據(jù)需要刪除字段。


使用貓鼬是一樣的:


var update = await model.updateOne({

? "id": 1

},

{

? "$unset": {

? ? "field1": "",

? ? "field3": ""

? }

})

console.log(update)

顯示輸出:


{ n: 1, nModified: 1, ok: 1 }


查看完整回答
反對 回復(fù) 2023-07-20
  • 1 回答
  • 0 關(guān)注
  • 161 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號