PouchDb find:为什么我的索引没有被使用?

2024-02-04

我正在使用 PouchDb 和插件 PouchDb-find 在 ionic Web 应用程序中查询本地数据库。几乎在每个用例中,当我创建索引时,我都会在查询时收到以下警告:

{
    "docs": {
        ...
    },
    "warning": "no matching index found, create an index to optimize query time"
}

从插件文档的示例开始,我收到此警告,所以我想知道我做错了什么。

这是一个例子:

var db = new PouchDB('test');

var docs = [];
for (var i = 0; i < 10; i++) {
  docs.push({title: 'Lorem ipsum ' + i, _id: 'doc' + (i + 1)});
}

db.bulkDocs(docs)
  .then(
    function () {
      return db.createIndex({index: {fields: ['title']}});
    })
  .then(
    function () {
      // return db.find({selector: {title: {$eq: 0}}}); // No warning
      return db.find({selector: {title: {$ne: 0}}}); // Warning
    })
  .then(
    function (res) {
      console.log(res);
    })
  .catch(console.error.bind(console));

使用时为什么要使用索引$eq并且不与$ne ?

然后,我有一个更复杂的情况,包含以下查询(假设'a.deep.property'始终存在并且是一个数组):

db.find(
    {
        selector: {
            $not:{
                "a.deep.property": {$size:0}
            }
        }
    }
);

我已经用该字段创建了一个索引'a.deep.property'。索引也没有被使用。我需要创建什么索引?

我还尝试手动创建索引并使用query()在前一种情况下,但这比使用 PouchDb-find 慢。

任何想法 ?


$ne目前不使用任何索引。你必须使用类似的东西$gt or $lt反而。例如。代替$ne: 0你会做{$gt: 0, $lt: 0}.

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

PouchDb find:为什么我的索引没有被使用? 的相关文章

  • 添加 cache.manifest 后,AngularJS/PouchDB 应用程序停止同步到 CouchDB

    我有一个使用 AngularJS 编写的单页 Web 应用程序 它使用 PouchDB 复制到 CouchDB 服务器并且工作正常 当我尝试通过添加cache manifest 将网页转换为可离线使用时 问题就出现了 突然间 所有复制任务都
  • 多个远程数据库,单个本地数据库(花式复制)

    我有一个管理用户的 PouchDB 应用程序 用户拥有一个使用单个 CouchDB 数据库进行复制的本地 PouchDB 实例 很简单 这就是事情变得有点复杂的地方 我正在将 组 的概念引入到我的设计中 组将是不同的 CouchDB 数据库
  • PouchDB + 冲突解决

    我有一个关于难题的非常简单的问题 PouchDB 中的冲突解决如何工作 我查看了文档 并快速谷歌搜索 但没有帮助 那么 如何在使用 PouchDB 的应用程序中处理冲突管理 以下是在 CouchDB 中的操作方法 您可以直接将其转换为 Po
  • 使用 CouchDB/PouchDB 时的应用程序架构

    我想知道使用时架构应该是什么样子PouchDB作为移动应用程序中的本地存储 而不是localStorage 此时我习惯将应用程序的数据缓存到localStorage当需要时 我对后端执行 API 调用来请求或发布数据 后端保存所有逻辑 例如
  • 使用 PouchDB 作为离线栅格地图缓存

    我一直在探索使用 PouchDB 作为栅格地图图块的离线缓存 具体来说 对于传单 我刚刚完成了一些初步测试 我想我会分享这些测试 我创建了一个 JsFiddle 实际上我现在更喜欢 CodePen 作为展示如何使用 PouchDB 缓存离线
  • 复制时的 PouchDB/CouchDB 序列计数器

    I am live将新创建的 pouchdb 3 3 1 同步到已建立的 iris couchdb 初始复制成功发生 pause事件被触发 If I do info 在本地 我得到的 update seq 为362 如果我做info 在遥控
  • 如何在复制过程中过滤数据并只向用户提供他自己的文档?

    我需要在客户端同步来自 CouchDB 和 PouchDB 的服务器数据 每个用户都有自己的数据 当他在线时 该数据正在更新 如何在复制过程中过滤数据并只向用户提供他自己的文档 这对我来说是安全问题 在您开始拥有大量用户 数千个 之前 为每
  • 如何在浏览器中处理与同一数据库同步的多个 PouchDB 实例?

    在浏览器中处理与同一远程 本地数据库同时同步的多个 PouchDB 实例的推荐方法是什么 我的设置是浏览器中的一个 Web 应用程序 它与远程 CouchDB 持续同步 该 Web 应用程序可以多次打开 多个选项卡 窗口 从而创建多个尝试同
  • PouchDB - 延迟获取和复制文档

    TL DR 我想要一个像 Ember Data 一样的 PouchDB 数据库 首先从本地存储中获取 如果找不到 则转到远程 复制only在这两种情况下该文件 我有一个名为的文档类型Post在我的 PouchDB CouchDB 服务器中
  • 使用令牌进行 PouchDB 身份验证(Cookie:AuthSession=xyz)导致不安全标头“Cookie”

    我想使用 couchdb 给出的访问令牌连接到我的远程 couchdb 数据库 这可以通过发送带有以下内容的标头来完成 Cookie AuthSession COUCHDB TOKEN 我用curl 做到这一点没有问题 但是 使用 pouc
  • 我需要在 couchdb 和 pouchdb-find 中进行不区分大小写的搜索

    我的项目运行完美 我遇到的唯一问题是搜索区分大小写 它可以很好地搜索子字符串 但是如果我输入 Test 它忽略了 test 作为有效结果 我在用pouchdb 查找 https www npmjs com package pouchdb f
  • 计算/异步数据获取

    我正在尝试创建简单的 Vue CouchDB 应用程序 使用 Vanilla JS 可以正常工作 但我无法通过 Promise 或异步函数从数据库获取数据到我的 vue 实例 这是我的代码 app html div table thead
  • 使用更改源时,有没有办法获取 PouchDB 中文档的所有修订?

    我现在正在摆弄 PouchDB 我使用它作为本地存储数据的一种方式 而不将其链接到 CouchDB 我一直在尝试做的是为单个文档创建一个恢复 撤消方法 为此 我想使用 doc 的先前修订版 我在阅读 PouchDB 文档时遇到了更改提要 起
  • 解决 Pouch Couch DB

    我正在开发一个离线工作的原型网站 该网站利用 Pouch DB 以便在上线时同步回服务器上的 CouchDB The Pouch DB 冲突指南 http pouchdb com guides conflicts html says 要解决
  • PouchDB:过滤、排序和分页

    与这两个 CouchDB 问题非常相似 3311225 https stackoverflow com questions 3311225 couchdb sorting and filtering in the same view and
  • CouchDB 每用户 db 具有共享数据可扩展性

    I have an application with the following architecture 主 couchdb 需要在用户之间共享数据 EG 如果 user 1 将数据写入云 则会复制到主服务器并返回到 user 2 和 u
  • PouchDb.get(id,{attachments: true}) 在 Android 上不返回数据

    我正在使用 PouchDb 无复制 开发一个 Ionic 应用程序 我能够成功地存储带有附件的数据 为了检索数据 我使用下面的控制器片段来调用 angularjs 工厂中的 get 函数 pouchDbManager getData cur
  • 使用承载授权将 PouchDB 同步到 Cloudant 时出现错误

    我是一名经验丰富的 JavaScript 程序员 但对 PouchDB Cloudant 和 oAuth 还很陌生 当我尝试使用承载授权同步 PouchDB 和 Cloudant 时 出现错误 reader access is requir
  • 在同一个应用程序上创建多个 PouchDB 数据库是否被认为是糟糕的设计?

    我有 Mysql 背景 现在使用 Pouchdb 我习惯了每个应用程序有 1 个数据库和许多表的 SQL 模式 在 pouchDB 中情况有所不同 因为数据不是存储在表中而是存储在文档中 因此 在我的应用程序中 我有一个任务数据库 使用以下
  • pouchdb 从 couchdb 复制:非常慢

    我的 couchDB 中有一个约 10k 条目 约 30Mo 无附件 数据库 使用 Pouchdb 浏览器端 从沙发复制时 确实需要一段时间才能完成 令我惊讶的是我的沙发在此期间收到的请求数量 数千 我猜和文件一样多 这正常吗 有没有办法

随机推荐

  • 未找到数据源名称且未指定默认驱动程序

    我被要求将使用 MVP 模式的 WinForms 应用程序移植到网页上 除其他外 该应用程序将 CSV 文件上传到数据表 然后执行一些工作 CSV文件上传到服务器OK然后用下面的代码读取 string connectionString Dr
  • 在函数作用域末尾执行代码的简单方法[重复]

    这个问题在这里已经有答案了 在测试代 码中 我偶尔想设置 模拟一些全局变量 在测试 范围结束时我想恢复这些变量 例如 BOOST AUTO TEST CASE HttpClientCsrf std string csrfSave Http
  • 反序列化 PHP 会话数据

    我正在使用 CodeIgniter 3 x 和数据库会话驱动程序 我想访问data列那BLOB类型 这是我的 blob 数据 ci last regenerate i 1435420891 identity s 13 email prote
  • 匿名共享内存?

    是否有一种 POSIX y 方法来分配不与特定文件名绑定的共享内存 IE 仅通过 UNIX 域套接字传递 SCM RIGHTS 消息才能在进程之间共享内存 None
  • Asp.net 单元测试中缺少对 System.Web.Mvc 的引用?

    我最近为我的 Asp NET MVC 应用程序做了一些单元测试 或者我尝试这样做 它一直告诉我 类型 System Web Mvc Controller 是在未引用的程序集中定义的 您必须添加引用程序集 System Web Mvc 版本
  • 在 AJAX 请求期间显示微调框?

    展示旋转器的最佳方式是什么 我准备了一个 div id spinner 它在加载过程中应该是可见的 你使用 jQuery 吗 如果是这样你可以使用 ajaxStart 和 ajaxStop http docs jquery com Ajax
  • 迭代 String.prototype

    我知道for in循环可以帮助迭代对象 原型和集合的属性 事实是 我需要迭代String prototype 虽然console log String prototype 当我这样做时显示完整的原型 for var prop in Stri
  • 如何在 ASP.Net 应用程序中使用 HTTPS

    我想在 ASP NET Web 应用程序中使用 HTTPS 但仅限于 Login aspx 页面 如何才能做到这一点 首先获取或创建证书 获取 SecureWebPageModule 模块http www codeproject com A
  • Fluent nhibernate:如何映射具有类型为接口的属性的实体?

    我有一个像这样的实体 public class Employee public int ID get set public IAccountManager AccountManager get set 我还为 DefaultAccountM
  • WP8.1 HttpClient Stream 仅获取 65536 字节数据

    我正在尝试在 Windows 运行时为 win8 1 和 wp8 1 的 MediaElement 编写一个实时 flv 流解复用器 我已经完成了解复用代码 flv 文件可以正确解复用为 h264 和 aac 标签数据 当我尝试播放网络文件
  • Xcode 斯威夫特。如何在基于视图的 NSTableView 中以编程方式选择单元格

    我可以单击一个单元格并编辑其内容 但是 可以通过编程方式选择单元格 而不是单击 选择单元格 基本上为单元格焦点提供准备编辑的机会 StackOverflow 上有人问了关于 UITableView 的同样问题 给出的答案是 let inde
  • 如何从 Python 执行程序? os.system 由于路径中的空格而失败[重复]

    这个问题在这里已经有答案了 我有一个Python脚本需要执行外部程序 但由于某种原因失败了 如果我有以下脚本 import os os system C Temp a b c Notepad exe raw input 然后它失败并出现以下
  • 如何使用 GeoTools 创建具有纬度、经度和半径的圆?

    现在我有 Polygon circle geometryBuilder circle myLong myLat radiusInMeters 10 它创建 纬度 28 456306 长 16 292034 半径 500 一个具有巨大纬度和经
  • JavaScript 中用于格式化数字的正则表达式

    我需要使用 JavaScript 在网页上显示格式化的数字 我想对其进行格式化 以便在正确的位置有逗号 我该如何使用正则表达式来做到这一点 我已经得到这样的东西 myString myString replace d 3 g 1 然后意识到
  • 将 select 语句包含在事务中有何意义?

    将 select 语句包含在事务中有何意义 我认为 select 语句只是从数据库中 获取 数据 它们没有机会回滚某些内容 因为您无法更改数据 那么 这是否意味着我们永远不需要在事务中放置 select 语句 我对吗 Thanks 你是对的
  • 2 个 TextView,左侧带省略号,右侧带 nowrap,单行

    第一次在这个论坛发帖 希望一切顺利 我正在为我所在城市的公共交通开发 Android 应用程序 这是我所拥有的 http s28 postimg org i8cdifwgd actual png short destination next
  • 读取嵌入双引号和逗号的 CSV 文件

    我正在尝试使用 data table 包中的 fread 函数读取脏 CSV 文件 但在字符串值中嵌入双引号和逗号时遇到问题 即引用字段中存在未转义的双引号 以下示例数据说明了我的问题 它由 3 行 行和 6 列组成 第一行包含列名称 SA
  • base64编码长度参数

    我正在解码一个 Base64 字符串 修改它 然后用 Ruby 重新编码 当我重新编码时 问题是 ruby 编码库在 60 个左右的字符后添加换行符 我怎样才能告诉它没有每行最大字符数限制 val QmFzZTY0IGlzIGEgZ2VuZ
  • 无法使用InputStream读取API读取所有字节?

    我在 java 套接字中读取图像字节时遇到问题 我的 iOS 客户端正在此处发送图像 它需要读取总字节并将其作为图像存储在服务器端 当我通过 iOS 模拟器测试时 效果非常好 因为 如果我在模拟器中测试 它会将图像发送到46 577 字节
  • PouchDb find:为什么我的索引没有被使用?

    我正在使用 PouchDb 和插件 PouchDb find 在 ionic Web 应用程序中查询本地数据库 几乎在每个用例中 当我创建索引时 我都会在查询时收到以下警告 docs warning no matching index fo