我正在尝试使用查询生成器,并且示例/内容只是虚构的。
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}}
我正在构建的查询的哪个步骤或部分错误?如何解决?
注意: