Всем привет. Есть запись в mongodb
{
"_id" : ObjectId("599aa4467745ffb9644da8eb"),
"email" : "mail@mail.ru",
"series" : [
{
"id" : "58e52c4e89673a7a83438f1c",
"letters" : [
{
"id" : "1bki584500r0trtyie7700001",
"sented_at" : [
"2017-08-23 16:45"
]
}
]
}
]
}
Мне нужно обновить запись, вставив массив в series при условии что серия с id 58e52c4e89673a7a83438f1c уже существует, если же не существует, то добавить.
"series" : [
{
"id" : "58e52c4e89673a7a83438f1c",
"letters" : [
{
"id" : "1bki584500r0trtyie7700001",
"sented_at" : [
"2017-08-23 16:45"
]
},
{
"id" : "1bki584500r0trtyie7700222",
"sented_at" : [
"2017-08-23 18:22"
]
}
]
}
]
Делаю так
$update = [
"id" => "58e52c4e89673a7a83438f1c",
"letters" => [
[
"id" => "1bki584500r0trtyie77000022",
"sented_at" => [
"2017-08-23 16:45"
]
]
]
];
$contacts->where(['email' => 'mail@mail.ru'])->push(["series" => $update]);
Обновляется не так как надо. Получается что серия с "id" => "58e52c4e89673a7a83438f1c" дублируется, а нужно прописать в него либо добавить если его не существует