首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在faunadb中加入集合?

如何在faunadb中加入集合?
EN

Stack Overflow用户
提问于 2020-11-25 23:07:09
回答 1查看 225关注 0票数 0

我想要在我正在执行的查询中获得嵌套的ref的值,但是默认情况下,响应返回其他集合的ref。考虑这个最小的示例;下面是"users""coins"集合中的usercoin模型

代码语言:javascript
复制
user {     // ref: 123456
  name: foo
  location: bar
}
代码语言:javascript
复制
coin {     // ref: 124457
  amount: 5457
  awardedTo: Ref(Collection("users"), "123456")
}

当我运行此查询时

代码语言:javascript
复制
q.Get(q.Ref(q.Collection("coins"), "124457"))

响应是这样的:

代码语言:javascript
复制
{
  data: {
    amount: 5457,
    awardedTo: @ref: {id: "123456", collection: {…}}
  },
  ref: @ref: {id: "124457", collection: {…}},
  ts: 1622547855525255
}

但是,如何在同一查询中获得嵌套的user的值才能得到这样的响应:

代码语言:javascript
复制
{
  data: {
    amount: 5457,
    awardedTo: {
      name: foo,
      location: bar
    }
  },
  ref: @ref: {id: "124457", collection: {…}},
  ts: 1622547855525255
}

我已经阅读了Join的文档,但它在这种情况下没有帮助,也尝试了这种方法,但也不起作用:

代码语言:javascript
复制
q.Let({
  coin: q.Get(q.Ref(q.Collection("coins"), '124457'))
},
  q.Union(
    q.Get(q.Select(["data","awaredTo"], q.Var("coin"))),
    q.Var("coins")
  )
)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-25 23:43:40

您可以使用此FQL:

代码语言:javascript
复制
Let(
  {
    coin: Select(['data'],Get(Ref(Collection("coin"), "1"))),
    user: Select(['data'],Get(Select(['awardedTo'],Var('coin'))))
  },
  Merge(Var('coin'),{awardedTo:Var('user')})
)

它从coin中检索数据,提取用户ref并合并在一起。

Luigi

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65007378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档