Au début je n'ai pas pourquoi la question a une prime (je pensais que la question a une réponse agréable et il y a rien à ajouter), mais ensuite j'ai remarqué que la réponse qui a été acceptée et upvoted 15 fois était en fait fausse!
Oui, vous devez utiliser $unset operator, mais cette option va supprimer la clé de mots qui n'existe pas pour un document pour une collection. Donc, fondamentalement, cela ne fera rien.
Vous devez donc demander à mongo de regarder dans les balises de document et ensuite dans les mots en utilisant dot notation. Donc, la bonne requête est.
db.example.update(
{},
{ $unset: {'tags.words':1}},
false, true
)
Juste pour être complet, je ferai référence à another way of doing it, ce qui est bien pire, mais cette façon, vous pouvez modifier le champ avec un code personnalisé (même basé sur un autre champ de ce document).
Savez-vous pourquoi le faux, le vrai fonctionne? –
Les nouvelles versions prennent en charge un format plus lisible: 'db.example.update ({}, {$ unset: {words: 1}}, {multi: true})' –
db.example.update ({}, {$ unset : {field: 1, multi: true}}) La requête de Nic n'a pas fonctionné pour moi. –