Du skickar hela services
(inkluderar alla andra fält) till $set
, och som ett resultat återställer du alla fält som är kapslade i services
. Försök att skicka endast data som du vill uppdatera/lägga till i ditt dokument med punktnotation.
$set-dokumentation
säger
db.users.update({"name":"Fabien Rousseau"},{ $set: { "services.cas" : { "external_id" : "fabien.rousseau", "version" : 2 }}})