【问题标题】:How to create a view in couchDB with a doc that has a key of "@"如何使用具有“@”键的文档在 couchDB 中创建视图
【发布时间】:2013-10-30 04:26:46
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: javascript json mapreduce couchdb


    【解决方案1】:

    经过进一步挖掘,我发现了有关 javascript 标识符的更多信息。

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

    然后我可以通过以下方式访问 JSON 的那个节点:

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

    【讨论】:

    • 我不知道你对 SO 有多熟悉。但是,当您找到自己问题的答案时,您可以将其验证为“答案”。没有问题。
    • 不带点 (doc['@']) 是否也可以工作?
    • 不是,而是唯一!谢谢你让我的大脑不停地搅动。我已修改我的答案以删除 .
    猜你喜欢
    • 1970-01-01
    • 2018-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多