当您有多个要存储的webAPI方法和表时,在本机(项目结构)中实现领域的最佳方法是什么。
我正在做以下这是一种正确的方法吗?如果不善意建议或提供任何链接。
创建了一个模型文件夹 - 此文件夹中的每个js文件都有一个使用RealmObject扩展的模型类。
为异步任务创建了一个文件夹 - 此文件夹中的每个js文件调用web api并在Realm对象中写入数据。每个webapi函数都有一个sperate js文件。
最初当app加载组件挂载时,调用所有重要的异步任务,并在需要时调用其余任务。
这样做我无法自动更新领域中的数据,即:领域结果不是动态的,我们必须手动调用更改以显示更新的数据。
答案 0 :(得分:1)
有可能的结构:
我建议你使用Real of Realm - > https://realm.io/
有可能的结构: realm.js
import * as RealmDB from 'realm';
class Passenger extends RealmDB.Object {}
Passenger.schema = {
name: 'Passenger',
primaryKey: 'id',
properties: {
'id' : 'string',
'firstname' : { type: 'string', optional: true },
'lastname' : { type: 'string', optional: true },
'birthdate' : { type: 'int', optional: true },
'email' : { type: 'string', optional: true },
'phone' : { type: 'string', optional: true },
'child' : { type: 'linkingObjects', objectType: 'Child', property: 'passengers' }
}
};
class Child extends RealmDB.Object {}
Child.schema = {
name: 'Child',
primaryKey: 'id',
properties: {
'id' : 'string',
'name' : 'string',
'parents_1' : { type: 'linkingObjects', objectType: 'Passenger', property: 'child' }
}
};
const realmInstance = new RealmDB({
schema: [Passenger, Child],
});
export default realmInstance;
use.js
import realm from "./realm";
export default class use {
static writeToRealm(){
realm.write(() => {
let passenger = realm.create('Passenger', {
'id' : "..."
'firstname' : "...",
'lastname' : "...",
"..."
})
}
static readPassengers(){
const passengers = realm.objects('Passengers');
return passengers // Be careful Realm use List instead of Array quite the same but not!
}
}
每次要在数据库中编写时都必须使用 realm.write(()=> {})
希望它有所帮助:)