No sé si existe alguna forma de ordenar los resultados por campo personalizado. mi consulta:
*[_type == "movies" && actors] { ..., isHarryMovie: name match "Harry*" } Entonces quiero ordenar los resultados por isHarry , ¿es posible?
Intenté algo como esto:
*[_type == "movies" && actors] | order(isHarryMovie asc) { ..., isHarryMovie: name == "Harry" }y
*[_type == "movies" && actors] | order("isHarryMovie" asc) { ..., isHarryMovie: name == "Harry" }pero no funcionaron
Puede ordenar después de proyectar:
*[_type == "movies"] { ..., isHarryMovie: name match "Harry*" } | order(isHarryMovie desc) Esto ordenará por el atributo isHarryMovie que agregó a cada documento.
Pero este tipo de consulta se verá obligada a cargar todas las películas, luego filtrarlas y luego ordenarlas; no será rápido. Probablemente sea mejor ordenar por puntuación:
*[_type == "movies"] | score(name match "Harry*") | order(_score desc) Esto asignará una puntuación alta a cualquier película cuyo name match "Harry*" y una puntuación baja a todo lo demás.