12.React Native数据本地存储-Realm封装

本文详细介绍了如何在React Native应用中使用Realm进行数据本地存储,包括创建Schema数据模型对象、数据迁移、批量数据插入处理及数据查询和删除的方法。提供了一个完整的代码示例,帮助开发者理解并实现Realm在React Native中的应用。
摘要由CSDN通过智能技术生成

目录

 

1.创建Schema数据模型对象

2.创建数据迁移模型(默认数据数组)

3.Realm管理

4.批量数据插入处理

5.完整代码示例


1.创建Schema数据模型对象

const MoviesSchema={
    name:'Movies',
    primaryKey:'id',
    properties:{
        id:'string',
        title:'string',
        year:'int',
        // newTitle:'string',  //版本2新增字段
        // testTitle:'string',    //版本3新增字段
        mpaa_rating:'string',
        test1:'string',
        test2:'string',
        test3:'string',
        newtest3:'string'
    }
};

2.创建数据迁移模型(默认数据数组)

版本2将title和test1合并为newTitle,title和test1直接去掉即可,在migration:(oldRealm, newRealm)方法中查询旧版本数据将旧版本数据迁移到新版本的数据库中,完成版本数据库结构升级;

const MoviesSchema={
    name:'Movies',
    primaryKey:'id',
    properties:{
        id:'string',
        //title:'string',
        year:'int',
        newTitle:'string',  //版本2新增字段
        // testTitle:'string',    //版本3新增字段
        mpaa_rating:'string',
        //test1:'string',
        test2:'string',
        test3:'string',
        newtest3:'string'
    }
};

版本3将newTitle和test2合并为testTitle,newTitle和test2直接去掉即可,在migration:(oldRealm, newRealm)方法中查询旧版本数据将旧版本数据迁移到新版本的数据库中,完成版本数据库结构升级;

const MoviesSchema={
    name:'Movies',
    primaryKey:'id',
    properties:{
        id:'string',
        //title:'string',
        year:'int',
        //newTitle:'string',  //版本2新增字段
        // testTitle:'string',    //版本3新增字段
        mpaa_rating:'string',
        //test1:'string',
        //test2:'string',
        test3:'string',
        newtest3:'string'
    }
};

每个数据库版本的升级迁移模型

let UpgradeMigrations = [
    {
        schema:[
            MoviesSchema
        ],
        path:'movies.realm',
        schemaVersion:1,
        migration:(oldRealm, newRealm)=>{

        }
    }
    ,{
        schema:[
            MoviesSchema
        ],
        path:'movies.realm',
        schemaVersion:2,
        migration:(oldRealm, newRealm)=>{
            // 只有当schemaVersion小于1的时候才会执行if中代码
            if(oldRealm.schemaVersion < 2){
                cons
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值