Spec-Zone.ru › RethinkDB ruby

Команда ReQL: contains

Синтаксис команды

sequence.contains([value | predicate_function, ...]) → bool
r.contains(sequence, [value | predicate_function, ...]) → bool

Описание

При вызове со значениями, возвращает true если последовательность содержит все указанные значения. При вызове с предикатными функциями, возвращает true если для каждого предиката существует хотя бы один элемент потока, где этот предикат возвращает true.

Значения и предикаты могут быть смешаны в списке аргументов.

Пример: Был ли Железный Человек когда-либо в бою с Суперменом?

r.table('marvel').get('ironman')[:opponents].contains('superman').run(conn)

Пример: Был ли Железный Человек когда-либо побеждён Суперменом в бою?

r.table('marvel').get('ironman')[:battles].contains{|battle|
    battle[:winner].eq('ironman') & battle[:loser].eq('superman')
}.run(conn)

Пример: Вернуть всех героев, которые сражались и с Локи, и с Халком.

r.table('marvel').filter{ |hero|
    hero[:opponents].contains('loki', 'hulk')
}.run(conn)

Пример: Используйте contains с предикатной функцией для моделирования or. Вернуть всех супергероев Marvel, которые живут в Детройте, Чикаго или Хобокене.

r.table('marvel').filter { |hero|
    r.expr(['Detroit', 'Chicago', 'Hoboken']).contains(hero['city'])
}.run(conn)

Связанные команды

  • map
  • concat_map
  • group

© RethinkDB contributors
Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
https://rethinkdb.com/api/ruby/contains/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API