@raxanucu

MongoDB как правильно составить запрос состоящий из множества параметров?

Собственно необходимо организовать поиск , но не совсем понятно как это сделать при наличии 13 параметров, к тому же любого из них может не быть. Очевидно, что мы не можем учесть все варианты. Нет, вообще можем, но сколько времени это займет, страшно представить, а как поддерживать вообще не понятно. Так вот, каким же алгоритмом решить задачу? Как правильно составлять такие запросы? Пишу на PHP.
  • Вопрос задан
  • 413 просмотров
Пригласить эксперта
Ответы на вопрос 2
Берете все параметры которые пришли например 5 из 13, и формируете обьект запроса:
JSON
{
param1:val1,
param2: {$exists: true}
$or: [{param3:val3}, {param4:val4}]
}


И этот обьект кормите монге.
Если какого то параметра нет - вы просто не добавляете его в собираемый обьект запроса.
Ответ написан
Комментировать
olegbukatchuk
@olegbukatchuk
Full-Stack Web/DevOps
Представьте, что вы работаете с массивами разной глубины вложенности. Так проще понимать какой подход использовать.
Здесь, доступно описан процесс:
www.codeisart.ru/blog/creating-parsing-json-data-php
Оф.документация:
php.net/manual/ru/function.json-encode.php
php.net/manual/ru/function.json-decode.php
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы