【发布时间】:2022-07-16 05:08:30
【问题描述】:
以下查询:
Paginate(Documents(Collection("backyard"))),
Lambda(
"f",
Let(
{
backyard: Get(Var("f")),
user: Get(Select(["data", "user"], Var("backyard")))
},
{
backyard: Var("backyard"),
user: Var("user")
}
)
)
)
结果:
{
data: [
{
backyard: {
ref: Ref(Collection("backyard"), "333719283470172352"),
ts: 1654518359560000,
data: {
user: Ref(Collection("user"), "333718599460978887"),
product: "15358",
date: "2022-06-06",
counter: "1"
}
},
user: {
ref: Ref(Collection("user"), "333718599460978887"),
ts: 1654517707220000,
data: {
email: "<email>",
name: "Paolo"
}
}
},
{
backyard: {
ref: Ref(Collection("backyard"), "333747850716381384"),
ts: 1654545603400000,
data: {
user: Ref(Collection("user"), "333718599460978887"),
product: "15358",
date: "2022-06-08",
counter: "4"
}
},
user: {
ref: Ref(Collection("user"), "333718599460978887"),
ts: 1654517707220000,
data: {
email: "<email>",
name: "Paolo"
}
}
}
]
}
如何在不丢失嵌套用户的情况下按日期过滤后院?
我试过了:
Map(
Paginate(Range(Match(Index("backyard_by_date")), "2022-05-08", "2022-06-08")),
Lambda(
"f",
Let(
{
backyard: Get(Var("f")),
user: Get(Select(["data", "user"], Var("backyard")))
},
{
backyard: Var("backyard"),
user: Var("user")
}
)
)
)
但是,结果集是一个空数组,以下已经返回一个空数组:
Paginate(Range(Match(Index("backyard_by_date")), "2022-05-08", "2022-06-08"))
我的索引:
{
name: "backyard_by_date",
unique: false,
serialized: true,
source: "backyard"
}
也许我必须调整我的索引?以下对我帮助很大:
【问题讨论】:
-
您能否更新您的问题以包含“backyard_by_date”索引的定义?
-
@eskwayrd:我更新了问题并添加了索引定义。
-
该索引定义没有指定
terms。如果这就是你实际使用的,那就是问题所在。没有terms或values的索引称为“集合索引”:包含集合的所有文档,没有匹配的terms对组进行子集化,默认结果包括文档引用,不能使用用于日期比较。也许在动物群论坛中提出您的问题,这更有利于最终达成解决方案的对话。
标签: faunadb