Как получить вложенное поле массива - PullRequest
0 голосов
/ 30 января 2019

У меня есть пользователь таблицы, который содержит массив Employee, в котором хранятся имена, мне нужно получить последний элемент массива.

Не удалось выяснить. Попытка с помощью count, но count дает значение = 1, нов массиве есть три элемента

r.table ("user") ("Employee"). count ()

Мне нужно подсчитать фактические элементы в массиве Employee, который равен 3.Помогите помочь.THANKS

1 Ответ

0 голосов
/ 02 февраля 2019

Если вы не вызовете .count в поле конкретного документа, он вернет счетчик последовательности документов.В вашем запросе 1 в результате фактически означает, что в таблице есть один документ.

Вам нужно перебрать каждый документ, чтобы получить фамилию для каждого документа, и вы можете получить его напрямую, используя .nth:

r.table("user").map(function(document) {
  return document.merge({lastName: document("Employee").nth(-1)});
  // or, if you like complicated stuff
  return {
    id: document('id'),
    lastName: document("Employee").nth(
      document("Employee").count().sub(1)
    )
  };
});
...