Я пытаюсь работать в построителе запросов, и пример / контент просто мнимый.
query = from en in Data.InfectionRevision
query = from q in query, select: map(q, [:is_complete, :is_active])
query = from(q in query,select_merge: %{"$aggregate": %{"$max": %{^"revision_id" => max(q.revision_id)}}})
query = from(q in query,group_by: q.encounter_id,
select_merge: %{"$group" => %{^"encounter_id" => q.encounter_id}})
Но запрос, который я получаю, имеет неверный ключ для группы, хотя я передал правильный ключ при сборкезапрос.это то, что я получил
#Ecto.Query<from i0 in Data.InfectionRevision, group_by: [i0.encounter_id],
select: merge(merge(
map(i0, [:is_complete, :is_active]),
%{"$aggregate": %{"$max": %{^"revision_id" => max(i0.revision_id)}}}),
%{"$group" => %{^"revision_id" => i0.encounter_id}})>
%{"$group" => %{^"revision_id" => i0.encounter_id}}
должно быть на самом деле %{"$group" => %{^"encounter_id" => i0.encounter_id}}
Какой шаг или часть запроса я строю неправильно?Как это исправить?
Примечание:
- пример проекта , на котором вы можете запускать / строить запросы выше
- Пожалуйста, игнорируйте содержимое запроса, это может не иметь смысла, потому что это всего лишь пример, и он должен динамически работать как часть динамического построителя запросов
- Мне нужно шаг за шагом строить запрос из переданных параметров динамически