Я хочу проверить, существует ли число в диапазоне в проекте, и соответственно вернуть true и false.
это мой код
До сих пор я использовал $cond вместе с if и «$ и», чтобы проверить число.
'$project' =>
[
'mrp' =>
[
'$cond' =>
[
'if' =>
[
'$and' =>
[
['$lte' => ['$mrp', 100]],
['$gte' => ['$mrp', 0]]
],
'then' => 'true',
'else' => 'false'
]
]
]
]
Я хотел бы вернуть истину
Перед отправкой конвейеров и других структур данных я предлагаю вам использовать json_encode(), чтобы создать JSON-версию ваших структур данных PHP для печати в журнале отладки. Это позволяет вам легко сравнивать огромное количество примеров синтаксиса JavaScript и убедиться, что ваша структура данных PHP действительно верна. Здесь его не было, отсюда и проблемы. то есть else и then являются внутриif, когда они должны быть на одном уровне.
Спасибо за совет . ценить это
и решение сработало. я зря усложнял






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