Проверить, существует ли число в пределах диапазона в mongodb

#php #mongodb #project #php-mongodb

#php #mongodb #проект #php-mongodb

Вопрос:

Я хочу проверить, существует ли число в пределах диапазона в project, и вернуть true и false соответственно.

Это мой код

До сих пор я использовал $cond наряду с if и ‘$and’ для проверки числа

 '$project' => 
[
  'mrp' =>
    [
      '$cond' => 
      [
        'if' => 
        [
          '$and' =>
            [
              ['$lte' => ['$mrp', 100]],
              ['$gte' => ['$mrp', 0]]
            ],
           'then' => 'true',
           'else' => 'false'
        ]
      ]
    ]
  ]
  

Я бы хотел вернуть true

Комментарии:

1. Не требуется $cond . Просто` 'mrp' => [ '$and' => [ ['$lte' => ['$mrp', 100] ], [ '$gte' => ['$mrp', 0] ] ] ] . $and и другие операторы сравнения агрегации уже возвращают логическое значение. Кстати, ваша проблема заключалась в неправильном вложении, но вам также просто не нужно $cond здесь.

2. Перед отправкой конвейеров и других структур данных я предлагаю вам использовать json_encode() для создания JSON-версии ваших структур данных PHP для печати в журнале отладки. Это позволяет вам легко сравнивать с огромным количеством примеров синтаксиса JavaScript и убедиться, что ваша структура данных PHP действительно правильная. Здесь этого не было, и отсюда проблема. т.е. else и then находятся внутри if , когда они должны быть на одном уровне.

3. спасибо за совет. ценю это

4. и решение сработало. я излишне усложнял это