Как применить фильтр для обновления элемента в массиве массивов? - PullRequest
0 голосов
/ 10 октября 2018

Я пытаюсь создать PHP-приложение , которое позволяет загружать данные в коллекцию MongoDB .Для этого я "установил" драйвер PHP без проблем.

Однако я все равно не могу найти - ни в руководстве по PHP - как я могу обновить элемент в массиве массивов.

Структура коллекции

Как видите, _unidades является массивом массивов.Каждый из этих массивов содержит идентификатор, строку и другой массив.В моем случае выбор будет зависеть от предыдущего параметра - он должен совпадать с элементом 1 одного из них.

Как только я выбрал эту структуру, я хочу вставить новый массив в его массив массивов.(позиция 2).

Что касается кода, я попробовал следующее:

$bulk = new MongoDB\Driver\BulkWrite();
    $bulk->update(
               [
                   '_isbn' => (int) $_POST["isbn"],
                   '_topics' =>
                        [
                            '0' => (int) $_POST["topic"]
                        ]
               ],
               [
                   '$set' => [
                            '1' => array($_POST["sentence"], $_POST["question"])
                       ]
               ]
            );        

    $writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 100);
    $resultado = $manager->executeBulkWrite('libreee.faq', $bulk, $writeConcern);

Однако, как вы можете видеть, я не способен определить, по крайней мере, что это не должно бытьконкретный массив (7-я строка).

Однажды сказал, что с нетерпением жду вашей помощи.Заранее большое спасибо.

С уважением, Ciconia.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...