下面是我在Couchbase中通过提供边界框参数得到的空间视图查询的响应:
{
"rows":[
{
"geometry":{
"type":"Point",
"coordinates":[
-71.10364,
42.381411
]
},
"value":{
"location":{
"type":"Point",
"coordinates":[
-71.10364,
42.381411
]
},
"name":"test",
"visibility":"public",
},
"id":"test",
"key":[
[
-71.10364,
-71.10364
],
[
42.381411,
42.381411
]
]
}
]
}
下面是我的空间视图查询:-
function (doc, meta) {
if (doc.type == "folder" && doc.location && doc.location.type) {
if(doc.location.type=='Point'){
var visibility = doc.enabled === true ? 'public' : 'private';
emit(doc.location, {
name:doc.name,
folder_id:doc.folder_id,
location: doc.location,
visibility:visibility
});
}
}
}
但是JSON响应包含不需要的数据,所以我想知道如何从JSON响应中删除几何和键参数。
查询还返回前10条记录,是否有任何方法可以设置限制和跳过参数,以便查询返回所有数据而不是前10条。
回答你问题的后半部分(下次请发布两个单独的问题):是的,视图支持分页。您可以设置结果的数量。您可以为每个页面请求x个结果,也可以为不同的页面请求x个结果。参见:http://blog.couchbase.com/pagination-couchbase
并且:dev-views只在bucket的一部分上工作。发布它们以获得与整个数据对应的结果。
您不能删除geometry
和key
-它们都是结果的一部分。如果你不想使用它们,就不要对它们做任何事情。