在couchbase中过滤空间视图响应

时间:2015-08-06 16:16:11

标签: python-2.7 flask couchbase couchbase-view

以下是我在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响应中删除 geometry key 参数。

同样查询返回前10条记录,有没有办法,所以我可以设置限制和跳过参数,所以查询返回所有数据而不是前10。

2 个答案:

答案 0 :(得分:0)

要回答问题的下半部分(请在下次发布两个单独的问题):是的,观点支持分页。您可以设置结果数量。你可以要求每页和不同页面的x结果。 请参阅:http://blog.couchbase.com/pagination-couchbase

并且:dev-views仅适用于部分存储桶。发布它们以获得与整个数据相对应的结果。

答案 1 :(得分:0)

您无法移除geometrykey - 两者都是结果的一部分。如果您不想使用它们,只是不对它们做任何事情。