2013-08-23 14 views
31

Jestem świadomy sposobu $addToSet dla MongoDB, ale nie mogę znaleźć nigdzie w remove równowartość docs.

Jaki jest najlepszy sposób, aby to osiągnąć? Staramy się osiągnąć coś jak następuje:

obj = { 
    name: 'object1 
    tags: ['fus', 'ro', 'dah'] 
} 

db.collection.update({name: 'object1'}, {$removeFromSet: { tags: 'dah'}}); 

Odpowiedz

45

myślę szukasz $pull, które „usuwa wszystkie wystąpienia wartości z istniejącej tablicy”.

db.collection.update(
    {name: 'object1'}, 
    {$pull: { tags: 'dah'}}); 
+1

Świetnie. Szkoda, że ​​nie było odniesienia do tego gdzieś w dokumentach. – Jascination

+1

Wszystkie operatory macierzy można znaleźć tutaj: http://docs.mongodb.org/manual/reference/operator/update-array/#update-operators – Ross

+0

Jak usunąć wiele elementów z tablicy za pomocą pojedynczego polecenia? –