奇怪的错误消息

Vic*_*let 5 couchdb

我定义了以下视图:

{ "_id":"_design/test",
  "language":"javascript",
  "views":
  { "test": 
    { "map": "function(doc) { for (var k in doc.data) emit(doc.data[k],null);}",
      "options": {"collation":"raw"}
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

在没有任何参数的情况下查询视图时,我得到了预期的结果(排序为"AB ... ab"而不是"aAbB",因为我指定了原始排序规则):

http://localhost:5985/test/_design/test/_view/test

{"total_rows":13,"offset":0,"rows":[
  {"id":"-","key":"A","value":null},
  {"id":"-","key":"B","value":null},
  {"id":"-","key":"C","value":null},
  {"id":"-","key":"D","value":null},
  {"id":"-","key":"E","value":null},
  {"id":"-","key":"F","value":null},
  {"id":"-","key":"a","value":null},
  {"id":"-","key":"b","value":null},
  {"id":"-","key":"c","value":null},
  {"id":"-","key":"d","value":null},
  {"id":"-","key":"e","value":null},
  {"id":"-","key":"f","value":null},
  {"id":"-","key":"g","value":null}
]}
Run Code Online (Sandbox Code Playgroud)

然后我使用startkeyendkey索取之间的范围Ba,我希望收到钥匙BCDEFa,而是我收到以下错误信息:

http://localhost:5985/test/_design/test/_view/test?startkey=%22B%22&endkey=%22a%22

{ "error": "query_parse_error",
  "reason": "No rows can match your key range, reverse your start_key and 
             end_key or set descending=true"
}
Run Code Online (Sandbox Code Playgroud)

当行B,C,D,E,F和a匹配时,为什么没有行可以匹配键范围?

编辑:我有一个文件(版本和ID省略):

{ "_id": "-", 
  "_rev": "-", 
  "data": [ "A", "B", "C", "D", "E", "F", "a", "b", "c", "d", "e", "f", "g" ] 
}
Run Code Online (Sandbox Code Playgroud)

Vic*_*let 0

再次查看大量文档并四处询问后,这种行为似乎是无意的。我已经为此提交了 JIRA bug 。尽管我已经能够在我的具体情况下解决该问题,但目前我没有建议通用的解决方法。