Mam następujący obiekt MongoDB:PHP/MongoDB: aktualizuje wartość w tablicy
{
"_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"
}
Jak ustawić "czytać" do 1, gdzie id = ABCDZZZZ? Używam PHP.
Próbowałem następujące polecenie:
$driverInboxes->update(array('uname'=>$uname),array('$set'=>array('messages'=>array('id'=>$id,'read'=>'1'))));
Ale kiedy to zrobić, następuje nadpisywanie i uzyskać:
{
"_id": ObjectId("4d0b9c7a8b012fe287547157"),
"messages": {
"id": "j7zwr2hzx14d3sucmvp5",
"read": "1"
},
"uname": "Eamorr3"
}
jestem całkowicie zatrzymany. Każda pomoc doceniona.
Czy muszę wyciągnąć cały element tablicy, zmodyfikować go i ponownie wcisnąć?
Dziękujemy wcześniej,
możliwy duplikat [zagnieżdżonej macierzy aktualizacji MongoDB] (http://stackoverflow.com/questions/11261521/mongodb-update-nested-array) – user956584
Obecnie jest to możliwe: http://stackoverflow.com/questions/ 11261521/mongodb-update-nested-array – user956584