让我说我的桶里有4个文件:
DOC-1:
{
"created_time": 1435819571221,
"field_1": false,
"field_2": false,
"version": 2
}
DOC-2:
{
"created_time": 1435819571221,
"field_1": true,
"field_2": false,
"version": 3
}
DOC-3:
{
"created_time": 1435819571221,
"field_1": true,
"field_2": true,
"version": 10
}
DOC-4:
{
"created_time": 1435819571221,
"field_1": true,
"field_2": true,
"version": 12
}
我想查询版本> = 10的所有文档 所以我创建了一个将该版本作为键发布的视图,以为我可以使用startKey x查询以获得比x更新的所有版本。
问题是沙发基地按字典顺序进行查询 所以在上面的例子中,我将取回所有4个文档 我怎样才能让它按数字的自然顺序工作?
谢谢, 迈克尔
答案 0 :(得分:1)
我可能没有正确理解,但当我尝试了你提到的内容时,我收到了两个预期结果:
为了测试我做了以下事情:
使用以下代码创建了一个视图(我不认为StackOverflow格式正确):
function(doc,meta){emit(doc.version,null); }
在视图中添加了一个过滤器,其startKey为10,然后查询结果
在结果中,我收到了第10版和第12版。
我提到的文档可以在这里找到:
http://docs.couchbase.com/admin/admin/Views/views-querySample.html
如果我误解了或者这是否解决了您的问题,请告诉我。
此致
答案 1 :(得分:0)
好吧,这是我的一个错误 - 在我的例子中,我发出的密钥是一个数字,但在我实际面对的情况下,键是带有数字的字符串:
" id :: 20 :: some@email1.com" ;," id :: 22 :: some@email2.com" ;," id :: 100 :: some @ email3.com&#34 ;.
所以当我使用startKey =" id :: 20"进行范围查询时它没有返回" id :: 100 :: some@email3.com"文档,因为它按字典顺序排序......
谢谢 - 你帮我理解了我的错误...... 迈克尔