如何使用具有“@”键的doc在couchDB中创建视图

时间:2013-10-30 04:26:46

标签: javascript json mapreduce couchdb

我正在为一个项目测试和学习CouchDB。我们想要将一系列JSON文件加载到DB中。我遇到的问题是JSON的格式,因为它有“@”键。例如:

{
    "_id":"somestringhere",
    "@": [
           {
           "identifier":"somevalue",
           "somekey":"somevalue" 
           },
           {
           "somekey":"somevalue",
           "somekey":"somevalue"
           }
         ]
}

所以我去编写我的Map函数来发出"@"的值,如下所示:

function(doc) {
  emit(null, doc.@);
} 

这不起作用并抛出错误,因为它不是有效的标识符。是什么赋予了?我认为这不是JSON的问题。更多javascript错误。

1 个答案:

答案 0 :(得分:1)

经过深入挖掘后,我发现了有关javascript标识符的更多信息。

Why is the '@' symbol reserved in javascript and what is its purpose?

然后我可以使用以下命令访问JSON的节点:

function(doc) {
  emit("document": doc['@']);
}