如何 select FaunaDB 查询语言的特定字段?
How to select specific fields on FaunaDB Query Language?
我找不到任何有关如何在 FaunaDB 中执行此类查询的信息。我只需要 select 文档中的特定字段,而不是所有字段。我可以使用 Select
函数 select 一个字段,如下所示:
serverClient.query(
q.Map(
q.Paginate(q.Documents(q.Collection('products')), {
size: 12,
}),
q.Lambda('X', q.Select(['data', 'title'], q.Get(q.Var('X'))))
)
)
忘记 selectAll
函数,它已被弃用。
实现此目的的一种方法是创建一个 return 包含所需值的索引。例如,如果使用 shell:
CreateIndex({
name: "<name of index>",
source: Collection("products"),
values: [
{ field: ["data", "title"] },
{ field: ["data", "<another field name>"] }
]
})
然后查询该索引将 return 您在索引值中定义的字段。
Map(
Paginate(
Match(Index("<name of index>"))
),
Lambda("product", Var("product"))
)
虽然这些示例将在 shell 中使用,但只需在每个内置函数前添加一个 q.
即可轻松在代码中使用它们。
您还可以 return 像这样的对象字面量:
serverClient.query(
q.Map(
q.Paginate(q.Documents(q.Collection('products')), {
size: 12,
}),
q.Lambda(
'X',
{
title: q.Select(['data', 'title'], q.Get(q.Var('X')),
otherField: q.Select(['data', 'other'], q.Get(q.Var('X'))
}
)
)
)
此外,您在 ['data, title']
处的问题中缺少结束引号和开始引号
我找不到任何有关如何在 FaunaDB 中执行此类查询的信息。我只需要 select 文档中的特定字段,而不是所有字段。我可以使用 Select
函数 select 一个字段,如下所示:
serverClient.query(
q.Map(
q.Paginate(q.Documents(q.Collection('products')), {
size: 12,
}),
q.Lambda('X', q.Select(['data', 'title'], q.Get(q.Var('X'))))
)
)
忘记 selectAll
函数,它已被弃用。
实现此目的的一种方法是创建一个 return 包含所需值的索引。例如,如果使用 shell:
CreateIndex({
name: "<name of index>",
source: Collection("products"),
values: [
{ field: ["data", "title"] },
{ field: ["data", "<another field name>"] }
]
})
然后查询该索引将 return 您在索引值中定义的字段。
Map(
Paginate(
Match(Index("<name of index>"))
),
Lambda("product", Var("product"))
)
虽然这些示例将在 shell 中使用,但只需在每个内置函数前添加一个 q.
即可轻松在代码中使用它们。
您还可以 return 像这样的对象字面量:
serverClient.query(
q.Map(
q.Paginate(q.Documents(q.Collection('products')), {
size: 12,
}),
q.Lambda(
'X',
{
title: q.Select(['data', 'title'], q.Get(q.Var('X')),
otherField: q.Select(['data', 'other'], q.Get(q.Var('X'))
}
)
)
)
此外,您在 ['data, title']