我定义了以下视图:
{ "_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)
然后我使用startkey和endkey索取之间的范围B和a,我希望收到钥匙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)