2015-08-05 6 views
0

У меня есть коллекция, как:Как удалить встроенный массив в MongoDB?

{ 
"_id" : "oBmLTMB5Y6gWwkYML", 
"mailingAddresses" : [ 
    { 
     "addressId" : "sEK4cza8XBHBApF2P", 
     "streetAddress" : "asdf", 
     "streetAddress2" : "fdsa", 
     "city" : "asdfasdf", 
     "state" : "DC", 
     "zip" : "2201512" 
    }, 
    { 
     "addressId" : "behnKE3THzcS9sH5E", 
     "streetAddress" : "ffff", 
     "streetAddress2" : "ddd", 
     "city" : "asdfsdf", 
     "state" : "CA", 
     "zip" : "99995" 
    } 
] 
} 

Как я могу удалить весь объект адрес? Например, я хочу удалить адрес с id sEK4cza8XBHBApF2P. Я пробовал:

db.users.update({_id: 'oBmLTMB5Y6gWwkYML'}, {$pull: {'mailingAddress': {addressId: 'sEK4cza8XBHBApF2P'}}})

Но это только возвращает «nMatched: 1» и не удалить этот адрес объекта.

ответ

0

Я нашел ответ: $ тянуть может быть использована для удаления внедренного массива:

db.users.update({_id: 'oBmLTMB5Y6gWwkYML'}, {$pull: {mailingAddresses: {addressId: "sEK4cza8XBHBApF2P" }}})