我不知道是否存在按自定义字段对结果进行排序的方法。我的问题是:
*[_type == "movies" && actors]
{
...,
isHarryMovie: name match "Harry*"
}所以我想用isHarry对结果进行排序,结果是肯定的吗?
我试过这样的方法:
*[_type == "movies" && actors] | order(isHarryMovie asc)
{
...,
isHarryMovie: name == "Harry"
}和
*[_type == "movies" && actors] | order("isHarryMovie" asc)
{
...,
isHarryMovie: name == "Harry"
}但他们没有工作
发布于 2022-04-11 14:51:24
您可以在投影后订购:
*[_type == "movies"] {
...,
isHarryMovie: name match "Harry*"
} | order(isHarryMovie desc)这将根据添加到每个文档中的isHarryMovie属性进行排序。
但这种查询将被迫加载所有电影,然后过滤,然后排序-它不会很快。你最好按分数分类:
*[_type == "movies"] | score(name match "Harry*") | order(_score desc)这将为任何带有name match "Harry*"的电影分配一个高分,并为其他所有影片分配一个较低的分数。
https://stackoverflow.com/questions/71829699
复制相似问题