Как сделать запрос - Где значение ключа массива Laravel с Mongodb - PullRequest
3 голосов
/ 19 февраля 2020

Это моя база данных Структура

{ 
    "_id":"5e4d4d6fc01c0000cc0009bd",
    "UID":"5e30376327050000b3006cde",
    "delevery_charge":25,
    "order_item":[ 
        { 
            "id":"5e2f4a636c630000f20053bc",
            "Name":"XXXXX",
            "info":"5e26098d94500000870044ac",
        }
    ],
    "subtotal":110,
    "status":1,
    "updated_at":"2020-02-19T14:59:59.000Z",
    "created_at":"2020-02-19T14:59:59.000Z"
}

Я хочу найти данные, где order_item=>info ID .. Я использую Пн go дБ

$db = Table::where(''Dont Know what to do)->first();

Как я могу это сделать ???

Ответы [ 2 ]

0 голосов
/ 20 февраля 2020

Взгляните на документацию $ elemMatch в MongoDB

db.orders.find({ "order_item" : { "$elemMatch" : { "info" : "5e26098d94500000870044ac" } } });

Нужно сделать свое дело.

0 голосов
/ 19 февраля 2020

Я не уверен насчет mongoDB, но вы можете использовать json, где условия.

Laravel также поддерживает запрос типов столбцов JSON в базах данных, которые обеспечивают поддержку типов столбцов JSON. В настоящее время сюда входят MySQL 5,7 и PostgreSQL. Чтобы запросить столбец JSON, используйте оператор ->:

$result = Table::where('order_item->info', 'SOME VALUE')->get();
...