我想通过createdAt
,status_invitor
和status_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,
},
});
如果你想混合AND
和OR
过滤器,那么你需要指定一个数组。你可以在这里看到一些例子: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 } },
],
},
},
)