python - RethinkDB:​​多重比较过滤

标签 python python-2.6 rethinkdb rethinkdb-python

根据文档,似乎为了过滤 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/

相关文章:

python - 从文件加载数据集,与 sklearn/numpy 一起使用,包括标签

python - 使用 Python Nmap 在网络中连接移动信息

python - 如何在 QTextEdit 中创建完全透明

node.js - RethinkDB:​​通过另一个表中不存在的 id 进行有效选择

docker - Docker文件中的Tee命令

Python zip 函数 - 奇怪的结果

python 2.6.7 多处理池无法关闭

python - pygame 播放很多电影

Python导入nltk报错

RethinkDB:​​迭代对象属性