我正在从动物群数据库中获取文档,我希望它们的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在这里没有帮助我
预先感谢您的提示。
答案 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) ])