Я хотел бы обновить несколько элементов они соответствуют заданным значениям: Примера: У меня есть коллекция с этой структурой:Обновить пару значений в вложенном массиве MongoDB
{
"_id" : ObjectId("52936a0270c68c04063f0300"),
"channel" : "1",
"content" : "145548",
"keywordsValues" : [
[ObjectId("52816d3370c68c2c1c4b0500"), ObjectId("52816d3370c68c2c1c9f0500")],
[ObjectId("52816d3370c68c2c1c510500"), ObjectId("52816d3370c68c2c1c890500")],
[ObjectId("52816d3370c68c2c1c550500"), ObjectId("52816d3370c68c2c1c850500")],
[ObjectId("52816d3370c68c2c1c6b0500"), ObjectId("52816d3370c68c2c1c990500")]
]
}
И мне нужно обновить поле «keywordsValues» (только один из пары в массиве [])
Что-то, например, обновить 2-го элемента в keywordsValues: Если мы нашли [FirstId, secondId] в keywordsValues поле обновит второй secondId
$database->Measurements->update(
array('keywordsValues'=>
array(new MongoId(52816d3370c68c2c1c4b0500),new MongoId(52816d3370c68c2c1c9f0500)',$atomic'=>'true')),
array('$set'=>array('keywordsValue.$'=>new MongoId($idNewValue))));
Но это не работает ...
К сожалению, я был типичной ошибкой ... но это не проблема – user222914