You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Directus中如何用或逻辑筛选发送者或接收者为当前用户的消息?

解决Directus消息列表筛选:获取当前用户作为发送者或接收者的消息

你当前的请求用&连接两个筛选条件,Directus默认会把它们当作AND逻辑处理——也就是只会返回同时满足「发送者是当前用户」和「接收者是当前用户」的消息,这显然不符合你要的「发送者OR接收者是当前用户」的需求。

要实现OR逻辑的筛选,你需要用到Directus的_or操作符,具体有两种写法:

方式1:URL分段式筛选

直接在URL中构建_or数组:

/items/messages?filter[_or][0][sender]=${user_id}&filter[_or][1][receiver]=${user_id}

方式2:JSON格式筛选(更直观)

把筛选条件写成JSON字符串,再传入URL(前端拼接时需对JSON字符串做URL编码):

/items/messages?filter={"_or":[{"sender":"${user_id}"},{"receiver":"${user_id}"}]}

这两种写法都会让接口返回所有「发送者是当前用户」或者「接收者是当前用户」的消息,比如当user_id为1时,会返回你示例中的两条消息,完全符合需求。

内容的提问来源于stack exchange,提问作者R.Almofleh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 13:45:47