目前,我对ouchdb的观点总是返回如下内容:

{
  "key":"somekey",
  "value":"somevalue"
}


我想知道是否有任何方法可以返回这样的内容:

{
  "somekey":"somevalue"
}


我需要直接访问“ somekey”,而不必在整个数组中搜索带有“ somekey”值的键。

谢谢

最佳答案

使用视图时,CouchDB没有提供直接的方法来将文档集合作为键/值以外的任何形式返回,如您所见。

您需要将客户端的数据映射到键索引中,或者直接从视图中通过键请求文档:

/sample/_design/docs/_view/by_somekey?key="somekey"


如果要在JavaScript中寻找快速映射选项(避免为每次迭代调用函数),那么当然可以使用以下简单逻辑:

// docs are the documents returned from the view
var map={};
for(var i=0,len=docs.length;i<len;i++) {
  map[docs[i].key] = docs[i].value;
}

关于javascript - 返回值作为 map 上的键减少,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14652804/

10-10 14:03