MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

MongoDB:Atualiza a semântica do modificador de $ unset


A resposta curta é porque {"relationships.terminated"} não é um objeto json/bson válido. Um objeto JSON é composto por uma chave e um valor e {"relationships.terminated"} tem apenas uma chave (ou valor, depende de como você a vê).

Felizmente, para desarmar um campo no Mongo, você não precisa definir o valor real do campo que deseja remover. Você pode usar qualquer valor (1 é comumente usado em documentos do Mongo), independentemente do valor real de relationships.terminated :
db.users.update({"username":"joe"},{"$unset":{"relationships.terminated" : 1}});