Как реализовать следующий монго псевдокод в Laravel? - PullRequest
0 голосов
/ 24 декабря 2018

Я хочу реализовать:

db.lawcases.find().snapshot().forEach(
    function (elem) {
        db.lawcases.update(
            {
                _id: elem._id
            },
            {
                $set: {
                    name: elem.firstname + ' ' + elem.lastname
                }
            }
        );
    }
);

Я использую пакет Laravael MongoDB, который позволяет мне выполнять необработанные запросы, как это объясняется в https://github.com/jenssegers/Laravel-MongoDB#raw-expressions.

У меня есть:

$lawCases =  \DB::connection('mongodb')->collection('lawcases')->raw(function($collection)
        {
            return $collection->find();
        });



        foreach($lawCases as $case){
                    //DO SOMETHING

            }

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

1 Ответ

0 голосов
/ 24 декабря 2018

Используйте его так же, как вы используете базу данных Laravel:

<?php

// get the cases first
$lawCases = \DB::connection('mongodb')
    ->collection('lawcases')
    ->get();

// update each record
foreach($lawCases as $case)
{
    \DB::connection('mongodb')
    ->collection('lawcases')
    ->where([
        "_id" =>  $case["_id"]
    ])
    ->update([
        "name" => $case["firstname"] . " " $case["lastname"]
    ]);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...