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

React Native中Realm DB数组字段包含字符串过滤失效问题

解决Realm数组字段包含关键词的过滤问题

你的问题出在Realm查询语法的使用上:CONTAINS是针对字符串字段的匹配规则,直接作用在数组字段labels上不符合Realm的查询规范,所以无法生效。

正确的过滤写法有两种:

  • 使用ANY关键字指定数组元素的匹配条件:

    entities.filtered("ANY labels CONTAINS $0", key)
    

    如果需要忽略大小写匹配,改成CONTAINS[c]:

    entities.filtered("ANY labels CONTAINS[c] $0", key)
    
  • 使用Realm数组专用的@运算符:

    entities.filtered("labels @ CONTAINS $0", key)
    

    同样,忽略大小写的话写成:

    entities.filtered("labels @ CONTAINS[c] $0", key)
    

另外注意:不要用模板字符串拼接${key}作为参数,直接通过filtered方法的第二个参数传入关键词,既符合Realm的参数传递规范,也能避免潜在的注入风险。

内容的提问来源于stack exchange,提问作者MaksimL

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 01:34:54