Are you sure that you are looking at the same object?
The _id does not match..
The following worked fine for me:
> db.proximus.save({"ses_filter": {
... "cutters": {
... "0": "Substrat\/Leistungsklasse",
... "1": "\u2205 Durchmesser",
... "2": "Eignung",
... "3": "Blah" }}})
> db.proximus.find()
{ "_id" : ObjectId("4d0165ed772d2a2e10895172"), "ses_filter" :
{ "cutters" : { "0" : "Substrat/Leistungsklasse", "1" : "∅
Durchmesser", "2" : "Eignung", "3" : "Blah" } } }
> db.proximus.update({}, {$set : {"ses_filter.drills" : {
... "0": "Substrat\/Leistungsklasse",
... "1": "\u2205 Durchmesser",
... "2": "Eignung"}}})
> db.proximus.find()
{ "_id" : ObjectId("4d0165ed772d2a2e10895172"), "ses_filter" :
{ "cutters" : { "0" : "Substrat/Leistungsklasse", "1" : "∅
Durchmesser", "2" : "Eignung", "3" : "Blah" }, "drills" : { "0" :
"Substrat/Leistungsklasse", "1" : "∅ Durchmesser", "2" :
"Eignung" } } }
> db.proximus.update({}, {$set : {"ses_filter.drills" : { "0": "new value" }}})
> db.proximus.find()
{ "_id" : ObjectId("4d0165ed772d2a2e10895172"), "ses_filter" :
{ "cutters" : { "0" : "Substrat/Leistungsklasse", "1" : "∅
Durchmesser", "2" : "Eignung", "3" : "Blah" }, "drills" : { "0" : "new
value" } } }
thx
AG