specific - mongodb show collection




如何從MongoDB文檔中完全刪除一個字段? (5)

{ 
    name: 'book',
    tags: {
        words: ['abc','123'],
        lat: 33,
        long: 22
    }
}

假設這是一個文檔。 如何從本集合中的所有文檔中完全刪除“ words ”? 我希望所有文件都沒有“ words ”:

 { 
     name: 'book',
     tags: {
         lat: 33,
         long: 22
     }
}

刪除或刪除MongoDB中的字段

  • 對於單個記錄

    db.getCollection('userData').update({}, {$unset: {pi: 1}})
    
  • 多記錄

    db.getCollection('userData').update({}, {$unset: {pi: 1}}, {multi: true})
    

您也可以通過使用3.4中的項目來進行匯總

{$ project:{“tags.words”:0}}


要引用包並刪除各種“鍵”,請嘗試此操作

db['name1.name2.name3.Properties'].remove([
{
     "key" : "name_key1"
},
{
     "key" : "name_key2"
},
{
     "key" : "name_key3"
}
)]

試試這個:如果你的收藏是'榜樣'

db.example.update({}, {$unset: {words:1}}, false, true);

參考這個:

http://www.mongodb.org/display/DOCS/Updating#Updating-%24unset

更新

上述鏈接不再覆蓋'$ unset'。 Nic Cottrell的下面的評論是現在要走的路。 如果要從集合中的所有文檔中刪除此字段,請務必添加{multi: true} ; 否則,它只會從它找到的第一個文檔中刪除它。 查看更新的文檔:

https://docs.mongodb.com/manual/reference/operator/update/unset/

例:

db.example.update({}, {$unset: {words:1}} , {multi: true});

db.example.updateMany({},{"$unset":{"tags.words":1}})

我們也可以使用它來更新多個文檔。







database