Ich habe folgendes mongodb Objekt:PHP/MongoDB: aktualisieren Wert in einem Array
{
"_id": ObjectId("4d0b9c7a8b012fe287547157"),
"messages": {
"0": {
"toUname": "Eamorr3",
"fromUname": "Eamorr2",
"time": 1292606586,
"id": "ABCDZZZ",
"subject": "asdf",
"message": "asdf",
"read": 0 //I want to change this to 1!
},
"1": {
"toUname": "Eamorr1",
"fromUname": "Eamorr3",
"time": 1292606586,
"id": "EFGHZZZ",
"subject": "asdf2",
"message": "asdf2",
"read": 0
}
},
"uname": "Eamorr3"
}
Wie kann ich "lesen" auf 1, wo id = ABCDZZZZ gesetzt? Ich benutze PHP.
Ich habe den folgenden Befehl versucht:
$driverInboxes->update(array('uname'=>$uname),array('$set'=>array('messages'=>array('id'=>$id,'read'=>'1'))));
Aber wenn ich das tue, Überschreibung stattfindet und ich:
{
"_id": ObjectId("4d0b9c7a8b012fe287547157"),
"messages": {
"id": "j7zwr2hzx14d3sucmvp5",
"read": "1"
},
"uname": "Eamorr3"
}
Ich bin total fest. Jede Hilfe wird sehr geschätzt.
Muss ich das gesamte Array-Element ziehen, ändern und wieder einschieben?
Vielen Dank im Voraus,
mögliche Duplikate von [MongoDB Update verschachtelten Array] (http://StackOverflow.com/Questions/11261521/Mongodb-Update-Nested-Array) – user956584
Eigentlich gerade jetzt ist es möglich: http://StackOverflow.com/Questions/ 11261521/mongodb-update-nested-Array – user956584