Documentation
Walkthrough
Order By

Order By

The examples use the following prisma schema:

model Post {
    id        String   @id @default(cuid())
    createdAt DateTime @default(now())
    updatedAt DateTime @updatedAt
    published Boolean
    title     String
    content   String?
 
    // add an index to be able to order by created_at
    @@index([createdAt])
}

Order by ID

The following example would equal to the default behaviour of ordering by ID in ascending order:

posts, err := client.Post.FindMany().OrderBy(
    db.Post.ID.Order(db.SortOrderAsc),
).Exec(ctx)

You can order by any field ein either direction, but it's recommended to use an index on fields you order.

Order by latest created

posts, err := client.Post.FindMany().OrderBy(
    db.Post.CreatedAt.Order(db.SortOrderDesc),
).Exec(ctx)

Combine with pagination

posts, err := client.
    Post.
    FindMany().
    Take(5).
    Cursor(db.Post.ID.Cursor("abc")).
    OrderBy(
        db.Post.CreatedAt.Order(db.SortOrderDesc),
    ).Exec(ctx)