Команда 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, callback);
Пример: Был ли Железный Человек когда-либо побежден Суперменом в бою?
r.table('marvel').get('ironman')('battles').contains(function (battle) {
return battle('winner').eq('ironman').and(battle('loser').eq('superman'));
}).run(conn, callback);
Пример: Вернуть всех героев, которые сражались и с Локи, и с Халком.
r.table('marvel').filter(function (hero) {
return hero('opponents').contains('loki', 'hulk');
}).run(conn, callback);
Пример: Используйте contains с предикатной функцией для имитации or. Вернуть всех супергероев Marvel, которые живут в Детройте, Чикаго или Хобокене.
r.table('marvel').filter(function(hero) {
return r.expr(['Detroit', 'Chicago', 'Hoboken']).contains(hero('city'))
}).run(conn, callback);
© RethinkDB contributors
Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
https://rethinkdb.com/api/javascript/contains/