Spec-Zone.ru › RethinkDB java

Команда 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);

// 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",
    r.hashMap("contact", r.hashMap("phone", "work"))
).run(conn);

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

  • pluck
  • hasFields

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

Spec-Zone.ru

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