MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB :Modifier-Semantik von $unset aktualisieren

Die kurze Antwort lautet, weil {"relationships.terminated"} ist kein gültiges json/bson-Objekt. Ein JSON-Objekt besteht aus einem Schlüssel und einem Wert sowie {"relationships.terminated"} hat nur einen Schlüssel (oder Wert, hängt davon ab, wie man es sieht).

Um ein Feld in Mongo zu deaktivieren, müssen Sie glücklicherweise nicht den tatsächlichen Wert des Felds festlegen, das Sie entfernen möchten. Sie können jeden Wert verwenden (1 wird üblicherweise in Mongo-Dokumenten verwendet), unabhängig vom tatsächlichen Wert von relationships.terminated :

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