如何通过$和操作符过滤Strapi中的数据



我想通过createdAt,status_invitorstatus_invited过滤我的表数据。我写这样的查询

const query = qs.stringify({
filters: {
$and: {
createdAt: { $gte: firstDayOfTheMonth },
createdAt: { $lt: lastDayOfTheMonth },
},
$and: {
status_invitor: statusFilter
},
status_invited: statusFilter,
},
});

但不能正常工作

默认情况下过滤器是组合的,所以除非我误解了您想要实现的目的,否则您不需要使用$and操作符。

const query = qs.stringify({
filters: {
createdAt: { $gte: firstDayOfTheMonth },
createdAt: { $lt: lastDayOfTheMonth },
status_invitor: statusFilter,
status_invited: statusFilter,
},
});

如果你想混合ANDOR过滤器,那么你需要指定一个数组。你可以在这里看到一些例子:https://docs.strapi.io/developer-docs/latest/developer-resources/database-apis-reference/rest/filtering-locale-publication.html#complex-filtering

我正在做一个项目,我想用一个搜索词查询多个字段。这是我用来让它工作的代码。我认为你所需要做的就是把$or换成$and,这样就可以了。

const query = qs.stringify( {
filters: {
$or: [
{ name: { $contains: term }},
{ venue: { $contains: term } },
{ performers: { $contains: term } },
{ description: { $contains: term } },
],
},
},
)

最新更新