Spec-Zone.ru › RethinkDB javascript

Команда ReQL: withFields

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

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

Описание

Выбирает одно или несколько атрибутов из последовательности объектов, отфильтровывая объекты, у которых отсутствуют указанные поля. Функционально это идентично hasFields, за которым следует 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').withFields('id', 'user', 'posts').run(conn, callback)
// Result passed to callback
[
    { 'id': 1, 'user': 'bob', 'posts': [ 1, 4, 5 ] },
    { 'id': 3, 'user': 'jane', 'posts': [ 2, 3, 6 ] }
]

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

r.table('users').withFields('id', 'user', {contact: {phone: "work"}).run(conn, callback)

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

  • pluck
  • hasFields

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

Spec-Zone.ru

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