我需要过滤此视图:
function (doc) {
if (doc.doc_type == 'asd'){
emit([doc.date, doc.string_key_0, doc.string_key_1], doc.list_field);
};
}
我做:
key_filter_0 = ['START_TIME', 'STRING0', 'STRING1']
key_filter_1 = ['END_TIME', 'STRING0', 'STRING1']
VIEW[key_filter_0:key_filter_1]
但该视图仅使用START_TIME
和END_TIME
进行过滤。它忽略了STRING0
/ STRING1
密钥过滤器。
答案 0 :(得分:1)
CouchDB中没有'关键过滤器'这样的东西。
您在视图中发出的每个项目都将按其键排序,然后您可以找到给定开始键和结束键之间的所有项目。在您的情况下,项目首先按日期排序,然后是string_key_0,然后是string_key_1。
听起来你只希望看到'START_TIME'和'END_TIME'之间的项目,其中所有项目的第二项都是'STRING0',第三项是'STRING1',但这不是CouchDB查看工作的方式。它们是一维的项目列表,按整个键排序。