我正在尝试使用 nodejs-ravendb-client 在 ravendb 上执行 groupBy 查询!
const apmts = await session.query<Appointment>({ collection: "Appointments" }) .statistics(s => (stats = s)) .groupBy("client.name").all();
在 typescript 编译 Property 'all' does not exist on type 'IGroupByDocumentQuery<Appointment>'.ts(2339) 时遇到此错误

这里有什么帮助吗?

最佳答案

文档查询的 groupBy() 方法返回一个 IGroupByDocumentQuery 类型的对象
如您所见,它没有 all() 方法。

您可以使用 selectKey()selectCount()selectSum() 进行聚合,然后将其与 all() 链接。例如。:

const { GroupByField } = require("ravendb");

const orders = await session.query({ collection: "Orders" })
    .groupBy("ShipTo.Country")
    .selectKey("ShipTo.Country", "Country")
    .selectSum(new GroupByField("Lines[].Quantity", "OrderedQuantity"))
    .all();

有关更多详细信息和示例,请参阅 official documentation :

关于node.js - 使用 noedjs ravendb 客户端进行 groupBy 查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55607170/

10-13 00:58