Как добавить несколько массивов сразу в документ MongoDB с помощью PHP?

172
23 мая 2018, 07:30

Я хочу добавить 2ва массива сразу в базу данных Mongo DB

Для того чтобы добавть 1н массив в массив phone, я использовал команду:

$col->update(array("email"=>$email), array('$addToSet'=>array(
"phone" =>  array("id" => "3","no" => "+1 000 0000","name" => "Bob"))));

Пример документа

"_id": "id",
"email": "Name@google.com",
"phone": [
 {
  "id": "1",
  "name": "Bob",
  "no": "+1 000 0000",
 },
 {
  "id": "2",
  "name": "Bob",
  "no": "+1 000 0000",
 }
]

Я пытался добавить сразу 2 массива в массив phone

$col->update(array("email"=>$email), array('$addToSet'=>array("phone" => 
array(("id" => "6","name" => "Bob","no" => "+1 000 0000"),
("id" => "7","name" => "Bob","no" => "+1 000 0000")))));

Но у меня выскакивает синтаксическая ошибка. Примеров как добавить 1н массив с несколькими значениями операторами $addToSet и $each в интернете полно а вот как добавить сразу несколько массивов примеров нет.

Answer 1

Понял как это сделать, если кому понадобиться в будущем вот результат:

$col->update(array("email"=>$email),array('$addToSet' => array(
 'phone' => array('$each' =>
 [(Object) array("id" => "6","name" => "Bob1","no" => "Bob1"),
  (Object) array("id" => "7","name" => "Bob2","no" => "Bob1"),])))); 
READ ALSO
Вывод записей с ID рубрики каждой записи. WordPress

Вывод записей с ID рубрики каждой записи. WordPress

У меня есть таксономия по которой я вывожу записи:

191
Что это за параметры в POST?

Что это за параметры в POST?

У меня при нажатие на кнопку "сохранить" на сервер отправляется запрос , это письмо из редактора Tinymce с картинкамиНа сервер в этот момент передаются...

223
Не могу понять как описать цикл

Не могу понять как описать цикл

Помогите, пожалуйстаКак будет выглядеть цикл на такую программу? Откуда в конце в знаменателе второе i появляется

222
Проблема с раширением (dll)

Проблема с раширением (dll)

Есть некий плагин, который отправляет по сети данные, когда его подгружает основная программаПроблема:

230