Rethinkdb Rql`或`涉及不存在字段时不工作
版本:1.15.2Rethinkdb Rql`或`涉及不存在字段时不工作,rethinkdb,Rethinkdb,版本:1.15.2 r.db('test') .table('form') .filter(r.row('yyy').eq('aaa').or(r.row('id').eq('aaa'))) .limit(10) 为什么此查询无法匹配id为aaa但没有字段yyy的文档,对不存在的字段有特殊处理(默认值:false),所以我想最好重写查询,不要对缺少的字段调用.eq())。您可以先检查id: .filter(r.row('id').eq('aaa').or(r.row('yyy').eq(
r.db('test')
.table('form')
.filter(r.row('yyy').eq('aaa').or(r.row('id').eq('aaa')))
.limit(10)
为什么此查询无法匹配
id
为aaa
但没有字段yyy
的文档,对不存在的字段有特殊处理(默认值:false
),所以我想最好重写查询,不要对缺少的字段调用.eq()
)。您可以先检查id
:
.filter(r.row('id').eq('aaa').or(r.row('yyy').eq('aaa')))
或者直接在缺少字段的操作上设置默认行为:
.filter(r.row('yyy').eq('aaa').default(false).or(r.row('id').eq('aaa')))
顺便说一句:这个答案的更新。在为RejectDB报告文档错误之后,在故障排除指南中已经提到了这一点: