Как получить ID от Рефа в фауне? - PullRequest
0 голосов
/ 26 мая 2020

Я получаю документы из faunadb и хочу, чтобы их идентификатор был в полезной нагрузке, которую я отправляю клиенту.

Вот как я получаю документы и возвращаю их данные в виде коллекции


serverClient.query(
  q.Map(
    q.Paginate(q.Documents(q.Collection('Portfolio')), { size: 999999 }),
      q.Lambda(x => q.Get(x))
    )
  )
  .then((ret) => ret.data.map(x => ({ ...x.data, _id: x.ref })))

Теперь _id - Ref. Когда я записываю его в консоль, он выглядит так:

Ref(Collection("Portfolio"), "266565241615155713")

И вот так, когда JSON Строковая его:

{"@ref":{"id":"266565241615155713","collection":{"@ref":{"id":"Portfolio","collection":{"@ref":{"id":"collections"}}}}}}

Мне в основном нужно получить идентификатор 266565241615155713 из что Ref. Как я могу это сделать? Я пробовал x.ref['@ref'].id, но @ref не определен. Документация мне здесь не помогла

Заранее спасибо за любые подсказки.

Ответы [ 2 ]

3 голосов
/ 26 мая 2020

Вы должны иметь возможность получить идентификатор с помощью ref.id , прежде чем он будет преобразован в Json, что, как я считаю, является тем случаем, когда вы сейчас делаете: '_id: x.ref', так что просто замените это на _id: x.ref.id должно быть в порядке.

После того, как вы преобразовали его в Json, вам нужно будет выполнить jsonRef. ['@ Ref']. Id

0 голосов
/ 28 мая 2020

Вы также можете вернуть массив с id и расширенным ref, при этом вы не будете использовать формат json (который может измениться в будущем). Вы можете добиться этого, обновив лямбду до Lambda(x => [ Select('id', x), Get(x) ])

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...