MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

MongoDB:aggiorna la semantica del modificatore di $unset

La risposta breve è perché {"relationships.terminated"} non è un oggetto json/bson valido. Un oggetto JSON è composto da una chiave e un valore e {"relationships.terminated"} ha solo una chiave (o un valore, dipende da come la guardi).

Purtroppo per annullare l'impostazione di un campo in Mongo non è necessario impostare il valore effettivo del campo che si desidera rimuovere. Puoi utilizzare qualsiasi valore (1 è comunemente usato nei documenti Mongo) indipendentemente dal valore effettivo di relationships.terminated :

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