我正在使用Sanity CMS,并试图使用下面的查询获取上一个和下一个帖子。
const query = `*[_type=='post' && slug.current == $slug][0]{
_id,title,_updatedAt,
"newPost" : *[_type == 'post' && ^._updatedAt > _updatedAt][0] {
title,"slug" : slug.current
}
}`;
const param = {
slug: "some-random-slug",
};
const nextPrev = await client.fetch(query, param);
我的问题是,当我在Sanity Vision尝试上述查询时,它工作得很好。但是,在使用sanity客户机尝试此操作时,它没有返回newPost对象。我怎么了?
试试这个:
const query = `*[_type == "post" && slug.current == $slug][0] {
"nextPost": *[_type == "post" && ^._createdAt < _createdAt] | order(_createdAt asc)[0] {
// Fields
}
}`
const { nextPost } = await client.fetch(query, { slug })