如何从动物群的Ref中获取ID?

时间:2020-05-26 08:04:32

标签: faunadb

我正在从动物群数据库中获取文档,我希望它们的ID位于发送给客户端的有效负载中。

这是我获取文档并将其数据作为集合返回的方式

parse

现在 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

当JSON对其进行字符串化时,如下所示:

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

我基本上需要从该Ref获取ID {"@ref":{"id":"266565241615155713","collection":{"@ref":{"id":"Portfolio","collection":{"@ref":{"id":"collections"}}}}}} 。我怎样才能做到这一点? 我尝试了266565241615155713,但是x.ref['@ref'].id未定义。 The documentation在这里没有帮助我

预先感谢您的提示。

2 个答案:

答案 0 :(得分:4)

在将 ref.id 转换为Json之前,您应该能够获得该ID,我相信您当前正在使用的是这种情况:'_id:x.ref',所以只需替换_id:x.ref.id应该没问题。

一旦将其转换为Json,就必须执行jsonRef。['@ ref']。id

答案 1 :(得分:2)

您还可以返回包含id和扩展的ref的数组,这样,您就不会提交json格式(将来可能会更改)。您可以做到这一点,将lambda更新为Lambda(x => [ Select('id', x), Get(x) ])