Spec-Zone.ru › RethinkDB python

Команда 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(lambda battle:
    (battle['winner'] == 'ironman') & (battle['loser'] == 'superman')
).run(conn)

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

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

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

r.table('marvel').filter(
    lambda 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/python/contains/

Spec-Zone.ru

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