2012-06-07 17 views
2

我使用POST方法向couchdb发出一个ajax请求,给出我想要检索的文档的键列表。couchdb偏移量:我没有得到结果

似乎一切正常,除了我得到0行,因为偏移量设置在最后一行。

因此,这意味着:

  1. 我使用CouchDB服务器(cloudant)
  2. POST方法的工作原理以及通信
  3. 似乎检索列表中,但只是的offest给它最后一个元素,即一个空列表

此外,试图以不同的方式排序结果没有成功。

riList VAR是这样的(从谷歌Chrome浏览器开发工具):

keys: Array[194] 
0: "Wire line diamond core drilling rig" 
1: "VUA - isotope geochemistry laboratory" 
2: "Volcanologic and Seismological Observatories" 
3: "VESOG" 
4: "Utrecht University - TecLab, Tectonic Laboratory" 
5: "Utrecht University - Experimental and Analytical Laboratories" 
..... 

基本上是相同的

var riList=["Wire line diamond core drilling rig", "VUA - isotope geochemistry laboratory","Volcanologic and Seismological Observatories","VESOG","Utrecht University - TecLab, Tectonic Laboratory","Utrecht University - Experimental and Analytical Laboratories"]; 

这里是代码

  var riList= ListOfRU.pluck('ri_name'); 
      var queryParams={"keys":riList}; 
      var riResponseList=[]; 
      var ajaxURL= ('_view/'+ self.parentMcDropDownValue); 
      console.log(ajaxURL, queryParams); 
      $.ajax({ //retrieve and show on map LABORATORY coordinates 
       async: true, 
       url: ajaxURL, 
       type:"POST", 
       data:JSON.stringify(queryParams), 
       dataType: 'json', 
       timeout:5000, 
       success:function(response){ 
        console.log("response",response); 
        riResponseList=response.rows; 
        }, 
       error:function(){ 
        alert('fetching error'); 
        } 
       }); 

铬开发者工具输出

response 
Object 
offset: 194 
rows: Array[0] 
total_rows: 194 
__proto__: Object 

正如你可以在铬devtools的输出中看到的偏移量是194,所以我有一个0行的数组,因为它从最后一个键开始。

有什么想法?

回答

2

当我发现错误时,我很想删除这个问题。

但最后我决定让它解释出了什么问题。

如果您觉得它应该被删除,请激励这个,我会删除它。

所以我的问题的答案很简单:我检索的密钥不是我用"keys"参数选择的密钥。

错误确实在map功能,我写道:

//WRONG ONE!! 
function(doc){ 
    if(doc.doctype=='ri'){ 
     emit(doc.ri, doc); 
    } 
} 

INSTEAD OF

//RIGHT ONE!! 
function(doc){ 
    if(doc.doctype=='ri'){ 
     emit(doc.ri_name, doc);// RI_NAME INSTEAD OF RI!!!!! 
    } 
} 

所以教训是:

当你得到一个偏移量等于数组的长度,检查结果是否真的是你想用t获得的结果他映射函数。

+0

谢谢你不要删除这个。现在我的结果有一个偏移量,我试图弄清楚为什么......偏移量参数说的是什么? –