由于本博使用的博客程序是邊開(kāi)發(fā)邊使用的,所以開(kāi)發(fā)過(guò)程中動(dòng)態(tài)創(chuàng)建了某些現(xiàn)在不需要的屬性
MongoDB 是無(wú) Schema 的,不像關(guān)系數(shù)據(jù)庫(kù)那樣列屬性定義在表而非記錄中,MongoDB 的集合中的每個(gè)文檔可以擁有各自不同的域?qū)傩浴?/p>
MongoDB 中使用 db.collections.update 修改集合中若干文檔的域?qū)傩裕褂?$set 增加域,$unset 刪除域。
刪除集合中所有文檔的一個(gè)域
復(fù)制代碼 代碼如下:
db.posts.update({}, { $unset: { deleted_at: 1 } }, { multi: true })
1.第一個(gè)參數(shù)表示選中某些文檔,這里為 {} 表示選中當(dāng)前 posts 集合中的所有文檔
2.第二個(gè)參數(shù)為具體的更新操作,$unset 表示刪除域
3.第三個(gè)參數(shù)為額外選項(xiàng),{ multi: true } 表示更新所有滿(mǎn)足要求的文檔,默認(rèn)只會(huì)更新第一個(gè)
也可以同時(shí)刪除多個(gè)域
復(fù)制代碼 代碼如下:
db.categories.update({}, { $unset: { deleted_at: 1, desc: 1 } }, { multi: true })
也以同時(shí)刪除和新增域
復(fù)制代碼 代碼如下:
db.tags.update(
{},
{ $unset: { deleted_at: 1 }, $set: { slug: 1, description: 1 } },
{ multi: true }
)