sql >> Base de Datos >  >> NoSQL >> MongoDB

MongoDB:actualiza la semántica del modificador de $ unset

La respuesta corta es porque {"relationships.terminated"} no es un objeto json/bson válido. Un objeto JSON se compone de una clave y un valor, y {"relationships.terminated"} solo tiene una clave (o valor, depende de cómo se mire).

Lamentablemente, para desarmar un campo en Mongo, no necesita establecer el valor real del campo que desea eliminar. Puede usar cualquier valor (1 se usa comúnmente en los documentos de Mongo) sin importar el valor real de relationships.terminated :

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