couchdb offset:我没有得到任何结果
我使用POST方法向Couchdbw发出一个ajax请求,给出了我想要检索的文档的键列表 除了因为偏移量设置在最后一行,所以我得到了0行之外,一切似乎都正常工作 这意味着:couchdb offset:我没有得到任何结果,couchdb,Couchdb,我使用POST方法向Couchdbw发出一个ajax请求,给出了我想要检索的文档的键列表 除了因为偏移量设置在最后一行,所以我得到了0行之外,一切似乎都正常工作 这意味着: 我与couchdb服务器(cloudant)通信良好 POST方法有效 它似乎检索列表,但只是给出最后一个元素的offest,即空列表 此外,尝试以不同的方式排列结果也没有成功 riListvar是这样的(来自google chrome开发工具): 这基本上是相同的 var riList=["Wire line diamon
riList
var是这样的(来自google chrome开发工具):
这基本上是相同的
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');
}
});
chrome开发者工具输出
response
Object
offset: 194
rows: Array[0]
total_rows: 194
__proto__: Object
正如您在chrome devtools的输出中看到的,偏移量是194,因此我有一个0行的数组,因为它从最后一个键开始
有什么想法吗?当我发现bug时,我很想删除这个问题 但最后我决定让它,并解释什么是错误的 如果你觉得它应该被删除,请激发这一点,我会删除它 因此,我的问题的答案非常简单:我检索的键不是我用
“keys”
参数选择的键
错误确实出现在map
函数中,我在该函数中写道:
//WRONG ONE!!
function(doc){
if(doc.doctype=='ri'){
emit(doc.ri, doc);
}
}
而不是
//RIGHT ONE!!
function(doc){
if(doc.doctype=='ri'){
emit(doc.ri_name, doc);// RI_NAME INSTEAD OF RI!!!!!
}
}
因此,教训是:
当你得到一个等于数组长度的偏移量时,检查结果是否真的是你想用map函数得到的结果。谢谢你没有删除这个。我现在的结果有一个偏移量,我正试图找出为什么。。。偏移量参数到底说了什么?
//RIGHT ONE!!
function(doc){
if(doc.doctype=='ri'){
emit(doc.ri_name, doc);// RI_NAME INSTEAD OF RI!!!!!
}
}