根据文档,似乎为了过滤所有30岁或40岁的用户,我可以这样做(使用python):

r.table("users").filter((r.row["age"].eq(30)) | (r.row["age"].eq(40))).run(conn)

假设我有一个基于输入/请求的列表:[12、14、18、88、33…],那么如何通过迭代(而不是硬编码)来筛选所有使用上面列表中某个元素的用户?

最佳答案

这是一种方法

valid_ages = [12, 14, 18, 88, 33]

r.table("users").filter(lambda user:
    r.expr(valid_ages).contains(user["age"])
).run(connection)

如果您使用索引和get_all,则可以
r.table("users").get_all(*valid_ages, index="age").run(connection)

(您需要在此之前创建索引年龄)

关于python - RethinkDB:​​多重比较过滤,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23900791/

10-16 13:10