如何在 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']
符号访问。
我有一个带有示例文档的 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']
符号访问。