Tengo un modelo de Post:
model Post { id String @id @default(auto()) @map("_id") @db.ObjectId title String content String likes Like[] }Y un modelo Me gusta:
model Like { id String @id @default(auto()) @map("_id") @db.ObjectId user User @relation(fields: [userId], references: [id]) userId String @db.ObjectId postId String @db.ObjectId post Post @relation(fields: [postId], references: [id]) likeType LikeType } enum LikeType { like dislike }Quiero ordenar las publicaciones según la cantidad de Me gusta (no No me gusta) que recibe una publicación. Algo como:
prisma.post.findMany({ orderBy: { likes: { _count: { where: { likeType: "like", } } } } })Puede ordenar por una relación de 2.19.0 por agregados, incluido el recuento. Pero actualmente no es posible devolver el recuento de una relación en sí. La separación de los modelos para gustos y disgustos simplifica el patrón de consulta.
const orderedPosts = await prisma.post.findMany({ orderBy: { likes: { count: 'asc' } } })