资讯专栏INFORMATION COLUMN

RxDB:indexedDB的踩坑之路

Scott / 703人阅读

摘要:的踩坑之路目前国内社区关于的资料较少,这篇文章是为了记录自己使用中遇到的一些问题解决总结,不会涉及到基本知识的科普,如果有同学有兴趣,再另外开一篇文章吧。这也是一个先这样吧,想到什么再写咯

RxDB:indexedDB的踩坑之路

目前国内社区关于RxDB的资料较少,这篇文章是为了记录自己使用中遇到的一些问题解决总结,不会涉及到基本知识的科普,如果有同学有兴趣,再另外开一篇文章吧。

Schema中default生成器的实现
// 演示例子?,这是一个Schema的定义
const Schema = {
  "title": "hero schema",
  "version": 0,
  "description": "describes a simple hero",
  "type": "object",
  "properties": {
      "name": {
          "type": "string",
          "default": function(){
              return "idGenerate" + Math.random().toString(16).substr(2,12)
          }
      }
  },
  "required": ["color"]
}

在RxDB中,Schema在设计之初就应一个纯洁的JSON,始终能够解析与字符串化,所以并不支持函数,但是这样的好处多多,比如……

那如果我们希望实现类似上方 这种默认值生成器,该怎么做呢?

那就是!使用Middleware-hooks添加钩子的方式来操作,例如 :

// 实现例子?
myCollection.preInsert(function(documentData){
    if(!documentData.name){
        documentData.name = "idGenerate" + Math.random().toString(16).substr(2,12)
    }
}, false);

参考链接:RxDB-Middleware

sort排序

sort只可以针对拥有index的字段,或是创建了复合索引compoundIndex才可以进行排序。

// 这也是一个Schema
{
  "title": "hero schema",
  "version": 0,
  "description": "describes a simple hero",
  "type": "object",
  "properties": {
      "name": {
          "type": "string",
          "index": true
      },
      "age": {
          "type": number
      },
      "create_time": {
          "type": number
      }
  },
  "compoundIndex": [
      ["age", "create_time"]
  ]
}

先这样吧,想到什么再写咯

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/94646.html

相关文章

  • vscode-eslint踩坑实践--typescript无法格式化

    摘要:的踩坑实践无法格式化引言最近开发的前端项目随着开发的人员越来越多,代码规范已经是一个很难避免的问题了,虽然百度有这个规则检查,但是不论是或者是项目本地都没有配置或检查,完全靠自觉,这是件非常扯淡的事。 vscode-eslint的踩坑实践--typescript无法格式化 引言 最近开发的前端项目随着开发的人员越来越多,代码规范已经是一个很难避免的问题了,虽然百度有fecs这个规则检查...

    harryhappy 评论0 收藏0
  • 记一次使用Fiddler抓包工具抓取Https协议数据踩坑过程

    摘要:直到今天,突然看到一个有意思的微信小游戏。后来试了几次之后才发现,这个小游戏比较刁,不仅做了微信的登录授权,而且做了手机端访问的判断,更甚至竟然用的还是协议的网页。调用的目标发生了异常。 记一次使用Fiddler抓包工具抓取Https协议数据的踩坑过程 前言 记得从刚入门前端第一天开始,当时的师傅就跟我介绍了一个可以抓取一些必须要在微信浏览器打开的链接的工具Fiddler,主要用来抓取...

    JackJiang 评论0 收藏0
  • Nuxt.js踩坑指南(常见问题汇总)

    摘要:本文会不定期更新在中遇到的问题进行汇总。转发请注明出处,尊重作者,谢谢注意版本为,适合低版本指南,不通用以上。强烈推荐作者文档版踩坑指南,点击跳转 本文会不定期更新在nuxt.js中遇到的问题进行汇总。转发请注明出处,尊重作者,谢谢! 注意:版本为1.0+,适合低版本nuxt指南,不通用2.0+以上。 强烈推荐作者文档版踩坑指南,点击跳转

    maochunguang 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<