如何在 javascript 中创建云视图时转义冒号和其他特殊字符

How to escape colon and other special characters while creating a cloudant view in javascript

我有一个带有示例文档的 cloudant 数据库,如下所示 -

{
    "_id": "xyz",
    "_rev": "1-sdsdsdfsdfsdfsdf",
    "a:b:c:d:1.0": {
        "pqr": {
           "insideattribute": "value"
         }
     }
 }

我需要使用以下逻辑创建视图 -

function(doc) {
  // insideattribute is not null
  if(doc.a:b:c:d:1.0.pqr.insideattribute) {
     emit(doc._id, doc._rev);
  }
}

然而,javascript 语法因“:”和“.”而无效。 if 条件中的字符。曾尝试用双引号转义,但似乎确实有效。

还有其他方法可以避免这种情况吗?

你需要Property accessors - Bracket notation

function(doc) {
  // insideattribute is not null
  if(doc["a:b:c:d:1.0"]["pqr"]["insideattribute"]) {
     emit(doc._id, doc._rev);
  }
}

您可以使用 doc['a:b:c:d:1.0'] 符号访问。