使用带有布尔参数的couchbase视图时出现问题
我在使用带有布尔键的couchbase映射函数时遇到问题 我编写了一个带有布尔参数的映射函数,但是当我尝试使用这个函数传递值“false”作为键时,该函数将不返回任何内容 样本文件:使用带有布尔参数的couchbase视图时出现问题,couchbase,couchbase-view,Couchbase,Couchbase View,我在使用带有布尔键的couchbase映射函数时遇到问题 我编写了一个带有布尔参数的映射函数,但是当我尝试使用这个函数传递值“false”作为键时,该函数将不返回任何内容 样本文件: { "name": "lorem ipsum", "presentationId": "presentation_24e53b3a-db43-4d98-8499-3e8f3628a9c6", "fullPrice": 8, "isSold": false, "buyerId": nul
{
"name": "lorem ipsum",
"presentationId": "presentation_24e53b3a-db43-4d98-8499-3e8f3628a9c6",
"fullPrice": 8,
"isSold": false,
"buyerId": null,
"type": "ticket",
}
地图功能:
function(doc, meta) {
if (doc.type == "ticket" && doc.isSold && doc.presentationId) {
emit([doc.isSold, doc.presentationId], null);
}
}
http://localhost:8092/default/_design/tickets/_view/by_presentation_and_isSold?key=[错误,“演示文稿\u 24e53b3a-db43-4d98-8499-3e8f3628a9c6”]
结果:
{"total_rows":10,"rows":[]}]}
出现此问题的原因是在emit语句之前对doc.isSold进行了检查,该检查意味着只有doc.isSold==TRUE的文档才会通过 您需要做的是检查变量是否已设置,而不是计算布尔值:
function(doc, meta) {
if (doc.type == "ticket" && doc.isSold != null && doc.presentationId) {
emit([doc.isSold, doc.presentationId], null);
}
}
希望有帮助:)