码迷,mamicode.com
首页 > 数据库 > 详细

RxDB:indexedDB的踩坑之路

时间:2020-04-30 11:18:28      阅读:64      评论:0      收藏:0      [点我收藏+]

标签:function   substr   def   题解   http   err   script   兴趣   sort   

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"]
  ]
}

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

技术图片

本文转载于:RxDB:indexedDB的踩坑之路

RxDB:indexedDB的踩坑之路

标签:function   substr   def   题解   http   err   script   兴趣   sort   

原文地址:https://www.cnblogs.com/baimeishaoxia/p/12807444.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!