Команда ReQL: contains
Синтаксис команды
sequence.contains([value | predicate_function, ...]) → bool r.contains(sequence, [value | predicate_function, ...]) → bool
Описание
При вызове со значениями, возвращает true если последовательность содержит все указанные значения. При вызове с предикатными функциями, возвращает true если для каждого предиката существует хотя бы один элемент потока, где этот предикат возвращает true.
Значения и предикаты могут свободно комбинироваться в списке аргументов.
Пример: Был ли Железный Человек когда-нибудь в бою с Суперменом?
r.table("marvel").get("ironman").g("opponents").contains("superman").run(conn);
Пример: Железный Человек когда-нибудь побеждал Супермена в бою?
r.table("marvel").get("ironman").g("battles").contains(
battle -> battle.g("winner").eq("ironman").and(
battle.g("loser").eq("superman"))
).run(conn);
Пример: Вернуть всех героев, сражавшихся и с Локи, и с Халком.
r.table("marvel").filter(
hero -> hero.g("opponents").contains("loki", "hulk")
).run(conn);
Пример: Используйте contains с предикатной функцией, чтобы смоделировать or. Вернуть всех супергероев Marvel, живущих в Детройте, Чикаго или Гобокене.
r.table("marvel").filter(
hero -> r.expr(r.array("Detroit", "Chicago", "Hoboken"))
.contains(hero.g("city"))
).run(conn);
© RethinkDB contributors
Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
https://rethinkdb.com/api/java/contains/