MH Query Language

Структура немного схожа с синтаксисом SQL. В основном нужно просто ссылаться на поля модели, а затем применять сравнение, логические операторы и скобки.

  • Поля моделей: указывается просто название поля без дополнительных оберток. Чтобы обращаться к вложенным данным, нужно использовать символ точки .. Пример: documents.status;
  • Для доступа к даннын внутри JSON полей, нужно также использовать символ точки .. Пример: documents.data.invoice_number (у поля data в документах формат JSON);
  • Строки должны быть обернуты в двойные кавычки. Одинарные кавычки не поддерживаются. Для экранизации кавычек в JSON, нужно использовать символ \. Пример: documents.status = \"completed\";
  • Символы для булевых значение и null: TrueFalseNone. Данные символы можно использовать только с оператором сравнения =.
  • Логические операторы: andor;
  • Операторы сравнения: =!=<<=>>=. Возможно использование операторов ~ и !~ для проверки на содержание подстроки;
  • Для проверки наличия поля в списке, можно использовать операторы innot in. Пример: documents.status in ("completed", "ready").