由於本博使用的博客程序是邊開發邊使用的,所以開發過程中動態創建了某些現在不需要的屬性
MongoDB 是無 Schema 的,不像關系數據庫那樣列屬性定義在表而非記錄中,MongoDB 的集合中的每個文檔可以擁有各自不同的域屬性。
MongoDB 中使用 db.collections.update 修改集合中若干文檔的域屬性,使用 $set 增加域,$unset 刪除域。
刪除集合中所有文檔的一個域
復制代碼 代碼如下:
db.posts.update({}, { $unset: { deleted_at: 1 } }, { multi: true })
1.第一個參數表示選中某些文檔,這裡為 {} 表示選中當前 posts 集合中的所有文檔
2.第二個參數為具體的更新操作,$unset 表示刪除域
3.第三個參數為額外選項,{ multi: true } 表示更新所有滿足要求的文檔,默認只會更新第一個
也可以同時刪除多個域
復制代碼 代碼如下:
db.categories.update({}, { $unset: { deleted_at: 1, desc: 1 } }, { multi: true })
也以同時刪除和新增域
復制代碼 代碼如下:
db.tags.update(
{},
{ $unset: { deleted_at: 1 }, $set: { slug: 1, description: 1 } },
{ multi: true }
)