我的 couchdb 复杂查询处理出了点问题。
我有一个 map 函数,它发出由 6 个参数组成的复杂键,如下所示:
emit([doc.profileId, doc.beamId, doc.name, doc.beambeanchId, "true", attachName], {beamdocId:doc._id, attachName:attachName})
我的查询参数(咖啡脚本)是这样的:
params =
startkey:[ profileId, beamId, namePrefix, beambeanchId, hasAttach, attachNamePrefix]
endkey:[
profileId or "\ufff0",
beamId or "\ufff0",
namePrefixEnd or "\ufff0",
beambeanchId or "\ufff0",
hasAttachEnd,
attachNamePrefixEnd or "\ufff0"]
问题是只有两个第一个正常工作,但其余的根本没有过滤。例如,当我将 namePrefixEnd 设置为不为 null 的值时,它并没有减少我的结果。
我用作为对象和数组的键进行了尝试。同样的故事,只有前两个有效。第三个被忽略。当我更改带有 namePrefixEnd 的例如 beamId 的顺序时,仍然只有前两个工作正常。
有什么想法有什么问题吗?couchdb 复杂键中的参数数量是否有限制?
我正在使用 nano 库来访问数据和 db.view 函数。