Я хочу получить вложенное значение ref
в выполняемом мной запросе, но по умолчанию ответ возвращает ref
из другой коллекции. рассмотрим этот минимальный пример; вот модели user
и coin
в коллекциях "users"
и "coins"
user { // ref: 123456
name: foo
location: bar
}
coin { // ref: 124457
amount: 5457
awardedTo: Ref(Collection("users"), "123456")
}
когда я запускаю этот запрос
q.Get(q.Ref(q.Collection("coins"), "124457"))
ответ будет примерно таким:
{
data: {
amount: 5457,
awardedTo: @ref: {id: "123456", collection: {…}}
},
ref: @ref: {id: "124457", collection: {…}},
ts: 1622547855525255
}
Но как можно получить вложенное значение user
в том же запросе, чтобы получить такой ответ:
{
data: {
amount: 5457,
awardedTo: {
name: foo,
location: bar
}
},
ref: @ref: {id: "124457", collection: {…}},
ts: 1622547855525255
}
Я прочитал документацию Join
, но в данном случае это не помогло, и тоже пробовали, но тоже не сработало:
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")
)
)