2013-08-23 14 views
31

Sono a conoscenza del metodo $addToSet per MongoDB, ma non riesco a trovare un equivalente remove in nessun punto dei documenti.

Qual è il modo migliore per raggiungere questo obiettivo? Cercando di realizzare qualcosa di simile al seguente:

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

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

risposta

45

Penso che si sta cercando $pull, che "rimuove tutte le istanze di un valore da un array esistente".

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

Grande. Vorrei che ci fosse un riferimento a questo da qualche parte nei documenti. – Jascination

+1

Tutti gli operatori di array possono essere trovati qui: http://docs.mongodb.org/manual/reference/operator/update-array/#update-operators – Ross

+0

Come rimuovere più elementi da un array con un singolo comando? –