(15)被迫吃芒果的前端工程師 - Mongoose 之 Delete

前言

接下來是準備進入最簡單的章節,也就是跟 Delete 有關,那麼也讓我們來認識一下 Mongoose 的 Delete 是不是也差很多。

Delete

基本上 deleteOnedeleteMany 一樣是支援的,以及額外的刪除語法 findOneAndDeleteFindByIdAndDelete

而這邊 deleteOnedeleteMany 語法與你在 MongoDB 是沒有什麼太大差異的

1
2
3
User.deleteOne({nickname: 'John'}).then((msg) => {
console.log('msg', msg)
})

deleteOne

那麼 findOneAndDelete 呢?其實寫法也是跟 findOneAndUpdate 一樣,但是 findOneAndDelete 預設在刪除時,會將刪除的資料給回傳回來讓你知道你現在是刪除哪一筆

1
2
3
User.findOneAndDelete({nickname: 'John'}).then((msg) => {
console.log('msg', msg)
})

其實透過上面的一些練習我們可以發現一件事情,假設你今天資料高達上千上萬筆,你直接透過 update 語法或者是 delete 語法其實都相當不方便,因為你會不知道你更新了什麼以及刪除了什麼,那麼透過 findOneAndDelete or findOneAndUpdate 都可以回傳你刪除了什麼與更新了什麼,在實務上來講是相對比較好的。

那麼這章節相對比較簡單,因此就到這邊囉。