Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Couchbase向Spatialviewrows值添加引号_Python_Return Value_Geospatial_Couchbase_Bounding Box - Fatal编程技术网

Python Couchbase向Spatialviewrows值添加引号

Python Couchbase向Spatialviewrows值添加引号,python,return-value,geospatial,couchbase,bounding-box,Python,Return Value,Geospatial,Couchbase,Bounding Box,我在Couchbase写了一个地理空间视图: function (doc, meta) { if(doc.type == 'Bar') { if(doc.position) { emit( { type: "Point", coordinates: [doc.position.latitude, doc.position.longitude] }, doc.companyID);

我在Couchbase写了一个地理空间视图:

function (doc, meta) {
  if(doc.type == 'Bar') {
    if(doc.position) {
      emit(
          {
             type: "Point",
             coordinates: [doc.position.latitude, doc.position.longitude]
          }, doc.companyID);
    }
  }
}
然后,我尝试通过边界框获取它们。Couchbase正确返回此框中的对象。我想将companyID作为值发出,并将其与另一个字符串进行比较,以确定请求是否被允许

问题是我得到的值在unicode中如下所示:

u'''CM-dummycompany'''
我从另一个cbobject获得的比较结果如下:

u'CM-dummycompany'
当我比较这些也失败了。 那么,你知道如何比较正确的方法吗

我用
==
is
试过了。我还尝试将其转换为字符串,然后进行比较,但这显然失败了,因为我使用了非格式字符,如
äöü


或者更好的问题是,为什么要在排放值中添加双引号?

好的,我在Couchbase问题跟踪程序中找到了解决方案:

因此,对于所有同样面临这一问题的人: 问题是,在空间视图中,值被双重编码。这意味着,如果返回一个数字,它将变成一个字符串。一个字符串变成一个带转义引号的字符串

实际上他们说它已经在3.0.1中修复了,但是我已经更新了,问题仍然存在

我的解决方法是通过
re
删除引号:

value = re.sub('"','',value)

只需知道,在发布这篇文章时,Couchbase中的地理空间视图被认为是实验性的,还没有准备好生产。至少在接下来的两个主要版本之前,官方支持不会到来