MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

MongoDB :Mettre à jour la sémantique du modificateur de $unset

La réponse courte est parce que {"relationships.terminated"} n'est pas un objet json/bson valide. Un objet JSON est composé d'une clé et d'une valeur, et {"relationships.terminated"} n'a qu'une clé (ou une valeur, cela dépend de la façon dont vous la voyez).

Malheureusement, pour désactiver un champ dans Mongo, vous n'avez pas besoin de définir la valeur réelle du champ que vous souhaitez supprimer. Vous pouvez utiliser n'importe quelle valeur (1 est couramment utilisé dans les documents Mongo) quelle que soit la valeur réelle de relationships.terminated :

db.users.update({"username":"joe"},{"$unset":{"relationships.terminated" : 1}});