2

ドキュメントによると、30歳または40歳のすべてのユーザーをフィルタリングするために、これを行うことができるようです(Pythonを使用):

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

入力/要求に基づくリストがあるとします: [12, 14, 18, 88, 33 ...], 上記のリスト内の要素のいずれかの年齢にあるすべてのユーザーを反復してフィルタリングするにはどうすればよいですか? (ハードコードされていない)?

4

1 に答える 1

4

それはそれを行う1つの方法です

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)

(その前にインデックス age を作成する必要があります)

于 2014-05-28T00:33:32.750 に答える