在 sanity studio 中,您会获得一份包含所有文档的最新版本的漂亮列表。如果有草稿,你会得到它,如果没有,你会得到出版的。
对于一些过滤器和脚本,我需要相同的列表。以下 groq 完成了这项工作,但速度不是很快,并且在新 API (v2021-03-25) 中不起作用。
*[
_type == $type &&
!defined(*[_id == "drafts." + ^._id])
]._id
绕过 API 中的重大更改的一种方法是使用length() = 0
代替,!defined()
但这会使已经很慢的查询慢 10-20 倍。
有谁知道制作只考虑最新版本的过滤器的方法?
编辑:我需要这个的一个例子是,如果我想查看没有任何类别的所有文档。无论是已发布文档还是没有类别的草稿,它都会显示在普通过滤器中。因此,如果您添加类别但不想立即发布它会在 no-categories-list 中造成混淆。,'-)