Fix listview (#3586)

Signed-off-by: Andrey Sobolev <haiodo@gmail.com>
This commit is contained in:
Andrey Sobolev 2023-08-14 19:34:56 +07:00 committed by GitHub
parent ccaf66f179
commit e92918c6c7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -57,16 +57,23 @@
resultQuery = { ...p, ...query } resultQuery = { ...p, ...query }
}) })
$: queryNoLookup = noLookup(resultQuery)
$: if (documents === undefined) { $: if (documents === undefined) {
docsQuery.query( docsQuery.query(
_class, _class,
noLookup(resultQuery), queryNoLookup,
(res) => { (res) => {
docs = res docs = res
}, },
{ {
...resultOptions, ...resultOptions,
projection: { ...resultOptions.projection, _id: 1, _class: 1, ...getProjection(viewOptions.groupBy) } projection: {
...resultOptions.projection,
_id: 1,
_class: 1,
...getProjection(viewOptions.groupBy, queryNoLookup)
}
} }
) )
} else { } else {
@ -74,11 +81,14 @@
docs = documents docs = documents
} }
function getProjection (fields: string[]): Record<string, number> { function getProjection (fields: string[], query: DocumentQuery<Doc>): Record<string, number> {
const res: Record<string, number> = {} const res: Record<string, number> = {}
for (const f of fields) { for (const f of fields) {
res[f] = 1 res[f] = 1
} }
for (const f of Object.keys(query)) {
res[f] = 1
}
return res return res
} }