在RethinkDB中使用lambda的多个过滤器
发布时间:2020-12-20 11:30:04 所属栏目:Python 来源:网络整理
导读:我希望有人确认创建以下查询的正确方法.这些文档充满了简单的查询示例,但是一些中等复杂性的示例会很有用 – 以便了解最佳实践. 我可以使用以下查询进行过滤: r.table('backups').filter( {'verified': True}).run(conn) 可以用这种方式编写相同的查询,使用
我希望有人确认创建以下查询的正确方法.这些文档充满了简单的查询示例,但是一些中等复杂性的示例会很有用 – 以便了解最佳实践.
我可以使用以下查询进行过滤: r.table('backups').filter( {'verified': True} ).run(conn) 可以用这种方式编写相同的查询,使用ReQL lambda简写: r.table('backups').filter( r.row['verified'] == True ).run(conn) 然后我尝试为此查询添加另一个过滤器,就像这样,但它没有返回正确的结果: r.table('backups').filter( r.row['verified'] == True and r.row['id'].match("^aad") ).run(conn) 编写此查询以使用两个过滤器调用的正确方法是什么? r.table('backups').filter( r.row['verified'] == True ).filter( r.row['id'].match("^aad") ).run(conn) 解决方法
Python和运算符不会转换为RethinkDB查询语言.你必须使用&代替:
r.table('backups').filter( (r.row['verified'] == True) & r.row['id'].match("^aad") ).run(conn) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |