Как получить поле из документа в mongoDB с помощью PHP? - PullRequest
0 голосов
/ 30 апреля 2019

Я написал этот код:

    <?php  
    // Creating Connection  
    $mng = new MongoDB\Driver\Manager(
        'mongodb+srv://removedUsername:removedPassword@cluster0-vqdka.mongodb.net/test?retryWrites=true');

    $menuName = $_POST['menuName'];
    $itemName = $_POST['itemName'];
    $itemPrice = $_POST['itemPrice'];
    $addedIcon = $_POST['addedIcon'];
    $smallPrintDetails = $_POST['smallPrintDetails'];
    $addedSize = $_POST['addedSize'];

    $bulk = new MongoDB\Driver\BulkWrite;
    $doc = ["menuID" => new MongoDB\BSON\ObjectID,
    "menuName" => $menuName,
    "itemName" => $itemName,
    "itemPrice" => $itemPrice,
    "addedIcon" => $addedIcon,
    "smallPrintDetails" => $smallPrintDetails,
    "addedSize" => $addedSize];

    $bulk->insert($doc);
    $mng->executeBulkWrite('restaurantApp.menus', $bulk);//end of good.


    $bulk2 = new MongoDB\Driver\BulkWrite;
    foreach($_POST['selectRestaurant'] as $currentRestaurant) {
        echo $currentRestaurant;
        $bulk2->update(['newRestaurantName' => $currentRestaurant], ['$set' => ['MenusAttached' => $menuName]]);
    }   
    $mng->executeBulkWrite('restaurantApp.restaurants', $bulk2);




    ?>

Я поместил весь код для этой части для ясности для других, просматривающих это позже.Документы PHP MongoDB не так хороши.

Мы сосредоточимся на том, где находится комментарий «конец добра».

Что делает эта часть, так это просматривает все рестораны, выбранныеПользователь в поле выбора.так что для КАЖДОГО ресторана, выбранного пользователем, он перейдет в базу данных, в этот конкретный ресторан и добавит одну и ту же переменную $ menuName для всех них в поле MenusAttached.

Теперь, если вы сосредоточитесь на этой строкеis:

        $bulk2->update(['newRestaurantName' => $currentRestaurant], ['$set' => ['MenusAttached' => $menuName]]);

Я пытаюсь добавить $ menuName к полю MenusAttached, но сейчас, как вы видите, он просто заменяет его.Php. = Здесь не работает.

Так что я решил, что решением будет FOR EACH RESTAURANT , чтобы получить значение поля MenusAttached, сохранить его как переменную и перейти оттуда.

Кто-нибудь знает?

...