Каков эквивалентный запрос от mysql к mongosb

я новичок в mongodb после многих лет работы с mysql и пытаюсь понять этот эквивалентный запрос в mongodb с помощью php composer

выберите * из таблицы, где (x > 0 и x <30) или x = 'половина' и sid = 1

$query = [
    '$and' => [
        [
     'sid'=> 1
        ], ['$and' => [[
            'info.x' => [
                '$lt' => '30'
            ]
        ], [
            'info.x' => [
                '$gt' => '0'
            ]
        ],  [
            'info.x' => [ /// i want to put this in $or
                'half'
            ]
        ]]
]

    ]
];

я хочу отобразить все, что больше 0 и меньше 30 или равно «половине», где sid равен 1

Спасибо

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
0
25
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это должно быть

db.collection.find({
  "$or": [
    { "x": { "$gte": 0, "$lte": 30 }},
    { "x": "half" }
  ],
  "sid": 1
})

Или

$query = [
  '$or'=> [
    [ 'x'=> [ '$gte'=> 0, '$lte'=> 30 ]],
    [ 'x'=> 'half' ]
  ],
  'sid'=> 1
]

Другие вопросы по теме