что эквивалентно запросу от MySQL к Mongosb - PullRequest
1 голос
/ 06 июля 2019

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

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

$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 или равно 'half', где sid равно 1

спасибо

1 Ответ

0 голосов
/ 06 июля 2019

должно быть

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

Или

$query = [
  '$or'=> [
    [ 'x'=> [ '$gte'=> 0, '$lte'=> 30 ]],
    [ 'x'=> 'half' ]
  ],
  'sid'=> 1
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...