Spec-Zone.ru › RethinkDB ruby

Команда ReQL: with_fields

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

sequence.with_fields([selector1, selector2...]) → stream
array.with_fields([selector1, selector2...]) → array

Описание

Извлекает одно или несколько атрибутов из последовательности объектов, отфильтровывая объекты, в которых отсутствуют указанные поля. Функционально это идентично has_fields, за которым следует pluck для последовательности.

Пример: Получить список пользователей и их постов, исключая пользователей, которые не создали ни одного поста.

Структура существующей таблицы:

[
    { :id => 1, :user => 'bob', :email => 'bob@foo.com', :posts => [ 1, 4, 5 ] },
    { :id => 2, :user => 'george', :email => 'george@foo.com' },
    { :id => 3, :user => 'jane', :email => 'jane@foo.com', :posts => [ 2, 3, 6 ] }
]

Команда и вывод:

r.table('users').with_fields('id', 'user', 'posts').run(conn)

[
    { :id => 1, :user => 'bob', :posts => [ 1, 4, 5 ] },
    { :id => 3, :user => 'jane', :posts => [ 2, 3, 6 ] }
]

Пример: Используйте синтаксис вложенных полей, чтобы получить список пользователей с номерами мобильных телефонов в их контактах.

r.table('users').with_fields('id', 'user', {:contact => {:phone => 'work'}).run(conn)

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

  • has_fields
  • pluck
  • without

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

Spec-Zone.ru

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