在RethinkDB中使用lambda的多个过滤器
作者:互联网
我希望有人确认创建以下查询的正确方法.这些文档充满了简单的查询示例,但是一些中等复杂性的示例会很有用 – 以便了解最佳实践.
我可以使用以下查询进行过滤:
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)
标签:rethinkdb,python 来源: https://codeday.me/bug/20190728/1565671.html