Неправильный групповой запрос при попытке построить динамически - PullRequest
1 голос
/ 16 апреля 2019

Я пытаюсь работать в построителе запросов, и пример / контент просто мнимый.

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}} Какой шаг или часть запроса я строю неправильно?Как это исправить?

Примечание:

  • пример проекта , на котором вы можете запускать / строить запросы выше
  • Пожалуйста, игнорируйте содержимое запроса, это может не иметь смысла, потому что это всего лишь пример, и он должен динамически работать как часть динамического построителя запросов
  • Мне нужно шаг за шагом строить запрос из переданных параметров динамически
...