Команда ReQL: pluck
Синтаксис команды
sequence.pluck([selector1, selector2...]) → stream array.pluck([selector1, selector2...]) → array object.pluck([selector1, selector2...]) → object singleSelection.pluck([selector1, selector2...]) → object
Описание
Извлекает одно или несколько атрибутов из объекта или последовательности объектов (проекция).
Пример: Нам нужна только информация о реакторе Железного Человека, а не весь остальной документ.
r.table("marvel").get("IronMan").pluck("reactorState", "reactorPower").run(conn);
Пример: Для конкурса красоты героев нас интересуют только определённые качества.
r.table("marvel").pluck("beauty", "muscleTone", "charm").run(conn);
Пример: Pluck также может использоваться с вложенными объектами.
// JSON equivalent:
// { "abilities": { "damage": true, "mana_cost": true }, "weapons": true }
r.table("marvel").pluck(
r.hashMap("abilities",
r.hashMap("damage", true).with("mana_cost", true))
.with("weapons", true)
).run(conn);
Пример: Вложенный синтаксис может быстро стать слишком громоздким, поэтому есть сокращенная форма.
// JSON equivalent:
// { "abilities": [ "damage", "mana cost" ] }, "weapons"
r.table("marvel")
.pluck(r.hashMap("abilities", r.array("damage", "mana_cost")), "weapons")
.run(conn);
Для получения дополнительной информации см. документацию по вложенным полям.
© RethinkDB contributors
Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
https://rethinkdb.com/api/java/pluck/