2017-08-14 39 views
1

我們將基於後端Java Spring Boot和MongoDb作爲數據庫開發基於多租戶的項目。MongoDB中的軟刪除程序

我想問一下,除了插入屬性true/false或0/1之外,是否有任何程序可以進行軟刪除?

感謝您的幫助......

+3

你能解釋一下軟刪除的意思嗎? – robjwilkins

+2

按照慣例,每個文檔中通常都有布爾(true/false)屬性'isDeleted'。之後,當您執行搜索時(例如GET所有文檔),您可以使用以下條件'db.collectionName.find({isDeleted:false})'進行搜索。同樣適用於其他CRUD操作。檢查以下[鏈接](https://stackoverflow.com/questions/33934245/how-to-implement-soft-logical-delete-with-mongodb-and-spring) – oneturkmen

回答

2

如果你不想刪除或使用屬性作爲isDeleted或類似的名稱。您必須將已刪除的文檔移至另一個集合,即deletedCollections,並從當前集合中硬刪除當前文檔。此方法可用於管理這些不需要的或已刪除的數據以用於當前收集。

  1. 首先創建另外一個集合可以命名爲deletedCollection另一個服務器或文件系統
  2. 首先插入文檔這個要刪除的集合
  3. 然後從當前集合刪除當前文件

這種方式對於在另一次達到已刪除或存檔的數據很有用。