python - 如何过滤复合键?

标签 python couchdb

我需要过滤这个 View :

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]

但 View 仅使用 START_TIMEEND_TIME 过滤。它只是忽略了 STRING0/STRING1 键过滤器。

最佳答案

CouchDB 中没有“关键过滤器”之类的东西。

您发送到 View 中的每个项目都将按其键排序,然后您可以找到给定开始键和结束键之间的所有项目。在您的情况下,项目首先按日期排序,然后是 string_key_0,然后是 string_key_1。

听起来您似乎只希望看到“START_TIME”和“END_TIME”之间的项目,其中所有项目的第二个项目都是“STRING0”,第三个项目是“STRING1”,但这不是 CouchDB View 的工作方式。它们是一维项目列表,按整个键排序。

关于python - 如何过滤复合键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7563918/

相关文章:

cordova - 使用 CouchDB/PouchDB 时的应用程序架构

java - 无法检索 JSON 值

python - 按数据帧中的行计算非零值的非重叠运行

python - 将一个数据帧与另一个数据帧合并,该数据帧具有第一个数据帧中的常量值

python - typing.NamedTuple 和 PyCharm

python - 我可以检测到有问题的图像有哪些特征?

python - 将python/ipython交互式提示命令的输出重定向到文件或变量

python - 尝试向 couchdb 发出请求时,HttpLib2 抛出错误

delphi - 在 Delphi 中获取 PDF MD5 哈希值

couchdb 设计 View ,更新文档创建字段