如何创建未附加到模型的查询

时间:2019-01-02 04:46:58

标签: strapi

Strapi使用书架(或猫鼬)来管理其管理的实体的模型。这相当方便,并且在查询这些模型中的数据时很有用。

当我尝试执行聚合查询时,出现了我的问题。想象一下,如果您有一个具有两个字段的Todo模型:namedone,则可以通过执行以下操作轻松获得Todo的列表(在{{1} }):

services/Todo.js

但是我要计算的是完成和未完成的待办事项数量。本质上,我要执行: Todo.query().fetchAll()

我可以创建查询,然后执行它...但是失败了,因为它试图使用查询结果来合并Todo对象,并且抱怨没有SELECT done, count(*) as howMany FROM todo GROUP BY done

所以,这就是问题:stradi是否提供我可以用来运行模型分离查询的“通用”查询功能?

我希望能够使用trapi正在使用的相同数据库连接。

1 个答案:

答案 0 :(得分:1)

这不直观,文档也不清楚。 但是您可以在strapi.connections.default中访问猫鼬和knex实例。

希望有帮助。


使用示例为:

const knexQueryBuilder = strapi.connections.default('mytable');
knexQueryBuilder.where('myfield','=','myvalue');
const resp = await knexQueryBuilder.then();
console.log('Results: ', resp);