Cloudant:此排序不存在索引,请尝试按排序字段建立索引
Cloudant: No index exists for this sort, try indexing by the sort fields
我有一个问题持续了几天,我无法解决。
我的数据库中有一个简单的文档,如下所示:
{
"_id": "asd123",
"_rev": "revidasd123",
"type": "CUSTOM_TYPE",
"position": 8,
"title": "Short custom title"
}
当我尝试按 位置 进行排序时,即使我已经为该字段创建了索引,我总是会得到相同的错误:
Error: no_usable_index. Reason: No index exists for this sort, try indexing by the sort fields.
这是索引:
{
"type": "json",
"def": {
"fields": [
{
"position": "asc"
}
]
}
}
这是导致此错误的查询:
{
"selector": {
"type": "CUSTOM_TYPE",
"_id":{
"$gt": null
}
},
"fields": [
"_id",
"type",
"position"
],
"sort": [
{
"_id": "asc"
},
{
"position": "asc"
}
]
}
结果:此排序不存在索引,请尝试按排序字段建立索引。
请帮助!在此先感谢
如果您想按位置排序,请尝试以下查询:
{
"selector": {
"type": "CUSTOM_TYPE",
"position": {"$gte": 0}
},
"fields": [
"_id",
"type",
"position"
],
"sort": [
{
"position": "asc"
}
]
}
position
字段需要成为选择器的一部分。我将它设置为匹配 >= 0 的任何位置,因此它应该匹配所有位置,除非它为 null。
此外,您按 _id
排序,然后按 position
排序。这将使 position
排序变得毫无意义。我从排序中删除了 _id
字段。
我有一个问题持续了几天,我无法解决。
我的数据库中有一个简单的文档,如下所示:
{
"_id": "asd123",
"_rev": "revidasd123",
"type": "CUSTOM_TYPE",
"position": 8,
"title": "Short custom title"
}
当我尝试按 位置 进行排序时,即使我已经为该字段创建了索引,我总是会得到相同的错误:
Error: no_usable_index. Reason: No index exists for this sort, try indexing by the sort fields.
这是索引:
{
"type": "json",
"def": {
"fields": [
{
"position": "asc"
}
]
}
}
这是导致此错误的查询:
{
"selector": {
"type": "CUSTOM_TYPE",
"_id":{
"$gt": null
}
},
"fields": [
"_id",
"type",
"position"
],
"sort": [
{
"_id": "asc"
},
{
"position": "asc"
}
]
}
结果:此排序不存在索引,请尝试按排序字段建立索引。
请帮助!在此先感谢
如果您想按位置排序,请尝试以下查询:
{
"selector": {
"type": "CUSTOM_TYPE",
"position": {"$gte": 0}
},
"fields": [
"_id",
"type",
"position"
],
"sort": [
{
"position": "asc"
}
]
}
position
字段需要成为选择器的一部分。我将它设置为匹配 >= 0 的任何位置,因此它应该匹配所有位置,除非它为 null。
此外,您按 _id
排序,然后按 position
排序。这将使 position
排序变得毫无意义。我从排序中删除了 _id
字段。