在日期范围内加载 FaunaDB 文档
Load FaunaDB documents within date range
我有一个包含日期字段的膳食集合 'date'。我想查询特定日期范围内的所有膳食。我努力构建一个 FQL 查询,returns 整个文档用于用户生成的函数以在 GraphQL 查询中使用。
我有:
索引'mealsByDate':
{
name: "mealsByDate",
unique: false,
serialized: true,
source: "Meal",
terms: [],
values: [
{
field: ["data", "date"]
},
{
field: ["ref"]
}
]
}
查询:
Paginate(Range(Match(Index("mealsByDate")), Date("2019-12-30"), Date("2020-01-05")))
结果:
{
"data": [
[
Date("2019-12-30"),
Ref(Collection("Meal"), "253389516394463764")
],
[
Date("2019-12-30"),
Ref(Collection("Meal"), "253389626235945490")
],
[
Date("2020-01-05"),
Ref(Collection("Meal"), "253389653063762452")
]
]
}
如何获取结果集中refs的文档?我尝试将 Paginate 函数放入 Map 函数并应用执行 Get 的 Lambda,但我无法 select 结果中的 ref。还是整个方法有缺陷?
当您对包含多个 value
字段的索引的结果进行分页时,每个结果都是索引文档中指定值的数组。如您的查询所示,您的索引 returns 数组具有包含日期和文档参考的 2 个值。
当您使用 Map
包装查询时,您提供的 lambda 函数必须接受相同数量的参数,如下所示:
Map(
Paginate(
Range(
Match(Index("mealsByDate")),
Date("2019-12-30"),
Date("2020-01-05")
)
),
Lambda(
["d", "r"],
Get(Var("r"))
)
)
对于该查询,日期字段作为参数 d
传递,而 ref 作为参数 r
传递。这使得使用 Var
函数可以轻松访问 ref。
当您使用 Map
迭代可能包含数组的其他结构时,您可以使用 Select
函数访问数组的编号元素。有关详细信息,请参阅 https://docs.fauna.com/fauna/current/api/fql/functions/select。
我有一个包含日期字段的膳食集合 'date'。我想查询特定日期范围内的所有膳食。我努力构建一个 FQL 查询,returns 整个文档用于用户生成的函数以在 GraphQL 查询中使用。
我有:
索引'mealsByDate':
{
name: "mealsByDate",
unique: false,
serialized: true,
source: "Meal",
terms: [],
values: [
{
field: ["data", "date"]
},
{
field: ["ref"]
}
]
}
查询:
Paginate(Range(Match(Index("mealsByDate")), Date("2019-12-30"), Date("2020-01-05")))
结果:
{
"data": [
[
Date("2019-12-30"),
Ref(Collection("Meal"), "253389516394463764")
],
[
Date("2019-12-30"),
Ref(Collection("Meal"), "253389626235945490")
],
[
Date("2020-01-05"),
Ref(Collection("Meal"), "253389653063762452")
]
]
}
如何获取结果集中refs的文档?我尝试将 Paginate 函数放入 Map 函数并应用执行 Get 的 Lambda,但我无法 select 结果中的 ref。还是整个方法有缺陷?
当您对包含多个 value
字段的索引的结果进行分页时,每个结果都是索引文档中指定值的数组。如您的查询所示,您的索引 returns 数组具有包含日期和文档参考的 2 个值。
当您使用 Map
包装查询时,您提供的 lambda 函数必须接受相同数量的参数,如下所示:
Map(
Paginate(
Range(
Match(Index("mealsByDate")),
Date("2019-12-30"),
Date("2020-01-05")
)
),
Lambda(
["d", "r"],
Get(Var("r"))
)
)
对于该查询,日期字段作为参数 d
传递,而 ref 作为参数 r
传递。这使得使用 Var
函数可以轻松访问 ref。
当您使用 Map
迭代可能包含数组的其他结构时,您可以使用 Select
函数访问数组的编号元素。有关详细信息,请参阅 https://docs.fauna.com/fauna/current/api/fql/functions/select。