对于任何有使用 contentful.com API 经验的人,我正在尝试按字段名称进行查询和排序,但当前收到“ServerError”。针对其示例 API 生成的查询示例(使用“fields.name”作为参数):
https://cdn.contentful.com/spaces/cfexampleapi/entries?order=fields.name&access_token=b4c0n73n7fu1
请注意,如果使用“sys.createdAt”,它可以正常工作...
https://cdn.contentful.com/spaces/cfexampleapi/entries?order=sys.createdAt&access_token=b4c0n73n7fu1
文档非常含糊 ( https://www.contentful.com/developers/documentation/content-delivery-api/javascript/#search-order ),我已经为示例/示例搜索了很长时间,但无济于事。
提前感谢您的任何想法/想法!
最佳答案
我是 Contentful 的前端工程师。
如果您想按某个字段对条目进行排序,则必须通过传递 content_type
查询参数将搜索限制为一种内容类型。
这是因为您要排序的字段可能不存在于您的所有条目中。示例:
https://cdn.contentful.com/spaces/cfexampleapi/entries?order=fields.name&content_type=cat&access_token=b4c0n73n7fu1
请注意,此示例仍然不起作用,因为name
字段的类型是Text
(全文)。全文字段支持全文搜索但不支持排序。相反,您可以使用 Symbol
字段。符号支持排序但不支持全文搜索。
例如,这会起作用,因为 color
是一个符号字段:
https://cdn.contentful.com/spaces/cfexampleapi/entries?order=fields.color&content_type=cat&access_token=b4c0n73n7fu1
关于javascript - Contentful.com API 订单/排序查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26522088/