PouchDB:过滤、排序和分页

2024-02-22

与这两个 CouchDB 问题非常相似:3311225 https://stackoverflow.com/questions/3311225/couchdb-sorting-and-filtering-in-the-same-view and 8924793 https://stackoverflow.com/questions/8924793/couch-db-filter-by-key-and-sort-by-another-field,除了这些方法不允许部分匹配。具有例如这些条目:

[{_id: 1, status: 'NEW', name: 'a'},
{_id: 2, status: 'NEW', name: 'aab'},
{_id: 3, status: 'NEW', name: 'ab'},
{_id: 4, status: 'NEW', name: 'aaa'},
{_id: 5, status: 'NEW', name: 'aa'}]

and key

[status, name, _id]

似乎没有办法

  1. 过滤这些条目status(完整字符串匹配)和name(部分字符串匹配~startsWith)
  2. 按以下顺序排序id
  3. 对它们进行分页

因为部分字符串匹配name. The 高值 unicode 字符 \uffff http://couchdb.readthedocs.io/en/latest/couchapp/views/collation.html#string-ranges允许这种部分匹配也会导致忽略_id键的一部分,这意味着结果条目不按以下顺序排序_id,而是按地位和姓名。

var status = 'NEW';
var name = 'aa'
var query = {
    startkey: [status, name],
    endkey: [status, name + '\uffff', {}],
    skip: 0,
    limit: 10
};

结果是

[{_id: 5, status: 'NEW', name: 'aa'},
{_id: 4, status: 'NEW', name: 'aaa'},
{_id: 2, status: 'NEW', name: 'aab'}]

没有在内存中排序的选项,因为这只会对各个页面进行排序,而不是对整个数据集进行排序。对此有什么想法吗?


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PouchDB:过滤、排序和分页 的相关文章

  • 归并排序究竟进行了多少次比较?

    我读到 在实践中 快速排序比合并排序快得多 其原因是隐藏常量 那么 随机快速排序复杂度的解是2nlnn 1 39nlogn 这意味着快速排序中的常数是1 39 但是合并排序呢 归并排序中的常数是什么 让我们看看能否解决这个问题 在合并排序中
  • 将 int 数组从最高到最低排序

    所以我刚刚了解到Arrays sort arrayName 并将其应用到我的一个项目中 但我发现它是从最低到最高排序的 有没有办法让它做相反的事情 我认为我不需要发布有问题的代码 但如果需要 我会发布它 如果您使用Integer 代替int
  • 根据另一个列表的内容对列表进行排序

    我有一个包含整数列表的列表和另一个包含同时包含整数和字符串的类的列表 我想做的是按字母顺序对列表进行排序 将第一个列表中存在的条目放在前面 这是我的代码和预期输出 using System using System Collections
  • 对如何在 Android 上使用 CouchDB 感到困惑

    我想让 CouchDB 作为我的移动应用程序的后端运行 取代 SQlite 作为这项技术的新手 我一直感到非常困惑 因为除了去年 Couchbase 发布的所有听起来类似的产品 Couchbase Couchbase Single Serv
  • 找出区间内绝对差值最小的两个元素

    我给定了一个数组和一个 L R 类型的查询列表 这意味着找到任何两个数组元素之间的最小绝对差 使得它们的索引在 L 和 R 之间 其中数组的起始索引是 1 而不是 0 例如 采用包含元素 2 1 8 5 11 的数组 a 则查询 1 3 将
  • 按工作日顺序使用工作日键对数组进行排序

    我想按周的顺序对带有工作日键的数组进行排序 如下所示 星期一 星期二 星期三 星期四 星期五 星期六 给定这样的输入 Array Thursday gt 8 Friday gt 7 Monday gt 9 Tuesday gt 12 Wed
  • php按预定义顺序对数组进行排序[重复]

    这个问题在这里已经有答案了 我正在努力尝试通过普通函数对数组进行排序 我确信这需要一个自定义比较函数 但无论如何都会将其丢弃 我有一个数组 里面有 5 个元素 我希望数组能够像这样自行排序 arsort 很接近 但不完全是 4 0 1 2
  • 为什么 CouchDB 归约函数接收“键”作为参数

    使用 CouchDB 减少功能 function keys values rereduce 这被称为这样 reduce key1 id1 key2 id2 key3 id3 value1 value2 value3 false 问题1 将键
  • 为什么 **sort** 不在每台机器上进行相同的排序?

    使用相同的sort具有相同输入的命令在不同的机器上产生不同的结果 我该如何解决这个问题 The man page http developer apple com documentation Darwin Reference ManPage
  • 比较方法在对文件进行排序时违反了其一般契约

    我知道这种异常有很多问题 而且我确实找到了解决方案 但我的问题是不同项目中的相同代码不会抛出异常 而这个却抛出异常 这两个项目都具有相同版本的 Java 和其他库 基本上我有一个小函数 它从目录中检索文件列表 按时间戳对它们进行排序 然后返
  • 对给定预定义顺序的字符串列表进行排序

    我有一系列颜色 我想按顺序排序 但是 我不想使用它们的 自然 顺序对它们进行排序 而是让它们保持以下顺序 var order white yellow violet blue orange red maroon brown black 例如
  • PHP 数组 ASC 排序

    我正在尝试对以下数组进行排序 但由于某些奇怪的原因 它似乎不起作用 sizearray Array 0 gt 39 1 gt 40 2 gt 41 3 gt 42 4 gt 43 5 gt 44 6 gt 45 7 gt 39 8 gt
  • 快速排序应用程序中这些交换代码行的目的是什么?

    我试图理解快速排序的实现或应用程序以找到第 k 个最小元素 这是我试图理解的代码 public int quicksort int a int start int end int k if start lt end int pivot pa
  • C++并行std::sort用于浮点值

    我有一个包含数百万个浮点值的大文件 我可以使用轻松对它们进行排序std sort通过将文件读入vector现在 例如 std vector
  • javascript中的父子关系排序

    我有以下结构 category id 1 parent category null category id 2 parent category 1 category id 3 parent category 1 category id 4
  • 字符串插值搜索

    对于那些不熟悉插值搜索的人来说 这是一种在排序数组中搜索值的方法 可能比二分搜索更快 您查看第一个和最后一个元素 并 假设数组的内容均匀分布 线性插值以预测位置 例如 我们有一个长度为 100 的数组 其中 array 0 0 和 arra
  • unix 下日期字段排序

    我有包含数十万条记录的文本文件 其中一个字段是日期字段 有没有办法根据日期字段对文件进行排序 09 APR 12 04 08 43 632279000 AM 19 MAR 12 03 53 38 189606000 PM 19 MAR 12
  • Highcharts 对堆积条形图进行排序

    我没有看到任何与我在 Highcharts 中遇到的确切场景相匹配的解决方案 因此我将我的发现发布在这里 我在 Highcharts 中有一个堆积条形图 需要按值从大到小对条形图进行排序并维护它们的类别关系 通常 首选解决方案是在将数据发送
  • 按第一列排序二维数组,然后按第二列排序

    int arrs 1 100 11 22 1 11 2 12 Arrays sort arrs a b gt a 0 b 0 上面的数组已排序为 1 100 1 11 2 12 11 22 我希望它们按以下方式排序a 0 b 0 首先 如果
  • 独立对列进行排序,使得所有空值都位于每列的最后

    这是一个名为的示例表animal name color fox brown fox red dog gold 现在 我想要的是这样的结果 fox dog brown gold red 名称应该是结果的列 不同颜色值作为行 我的第一个想法是

随机推荐