Вы можете нарезать свой запрос, добавив массив с начальным и конечным индексом в конце запроса, поэтому в вашем случае это будет выглядеть так:
"latestArticles": *[_type == "article" && wasDeleted != true && isDraft != true] | order(publishDate desc){
title,
_createdAt
}[0...2] // get entries 0, 1, and 2 (3 total)
Этому посвящен раздел в документации sanity
Я думаю, вы можете отфильтровать результаты по идентификатору, поэтому вам нужно будет добавить _id != "articleIdHere"
в квадратных скобках. Существует шпаргалка для фильтрации, предоставленная sanity — sanity.io/docs/query-cheat-sheet#3949cadc7524
Спасибо за ваш ответ! Как бы вы гарантировали, что он не запрашивает текущую страницу статьи, на которой вы находитесь?