node.js - Strapi 在 find() 中使用条件 _in
问题描述
就我而言,我在查找条件中使用event_type_in: filter_by 。现在,如果我们将filter_by数组传递为空,我想返回所有结果,否则只有那些在 filter_by 中传递的结果
searchEvents: async (ctx) => {
try {
const {
title='',
filter_by=[],
sort = 'date',
start = 0,
limit = 6
} = ctx.request.body;
const events = await strapi.services['events'].find({
title_contains: title,
event_type_in: filter_by,
_start: start,
_limit: limit,
_sort: sort
});
const response = events.map((r) => {
r = sanitizeEntity(r, { model: strapi.models['events'] });
delete r.event_type.created_at;
delete r.event_type.updated_at;
delete r.event_type.published_at;
delete r.created_at;
delete r.updated_at;
return r;
});
ctx.send({ events: response });
} catch (error) {
ctx.badRequest(error.message);
}
}
}
解决方案
推荐阅读
- java - 使用 ITextRenderer 没有进入 pdf 的中文单词
- typescript - 复杂类型推断。很确定这在 TS 中是可能的,但是
- git - 取消忽略子目录不显示未跟踪的文件
- android - Firebase 更新节点同步
- c++ - 删除一个模板函数,除了它的一个特化
- amazon-ec2 - 针对特定 EC2 实例访问的 IAM 策略
- javascript - 错误:ENOENT:使用 exec() 时没有这样的文件或目录
- java - 转换一个 java 列表
进入可与 iomicrometer 的 MultiGauge 一起使用的流 - python-3.x - 如何遍历嵌套字典并检查列表中是否存在键
- javascript - 我需要正则表达式来屏蔽 javascript 中的电子邮件地址