gpt4 book ai didi

javascript - 将 json 写入 Realmdb 模式

转载 作者:行者123 更新时间:2023-12-02 22:35:50 26 4
gpt4 key购买 nike

我需要将 json 保存在我的架构的属性中,我的架构:

export default class ListSchema {
static schema = {
name: 'Listas',
primaryKey: 'id',
properties: {
id: 'string',
name: 'string',
contents: 'string', // I need to save here, currently I left string
}
}
}

保存列表的代码:

  async function SaveList() {
const data = {
id: String(Date.now()),
name: List,
contents: JSON.stringify(AllTask) // I need to save json here
}
const realm = await getRealm()

realm.write(() => {
realm.create('Listas', data)

})

}

我的 json n 有一个确定的大小,它是这样的:

[{id: 'value', name:'value'}, {id: 'value', name:'value'} ...]

我的架构应该是什么样子?

最佳答案

我在生产中使用 Realmdb 和 React Native,前段时间也有同样的疑问。

基本上你有两种方法可以做到这一点。

第一个也是更简单的方法是使用 JSON.stringify 转换您的架构,并将其保存在您的字段中,类型为 string,(就像您所做的那样),但是当您希望再次获得此值时,您将使用 JSON.parse 再次转换,很无聊,但效果很好,您只需记住即可。

第二个选项是创建另一个架构并使用它来插入对象格式的值。

const CarSchema = {
name: 'Car',
properties: {
make: 'string',
model: 'string',
miles: {type: 'int', default: 0},
}
};

const PersonSchema = {
name: 'Person',
properties: {
name: 'string',
cars: {type: 'list', objectType: 'Car'},
}
};

上面,我们有两个模式,如果我们插入新数据,我们必须执行类似的操作。

realm.write(() => {
realm.create('Person', {
name: 'Joe',
// nested objects are created recursively
car: {make: 'Honda', model: 'Accord', drive: 'awd'},
});
});

这种方式效率更高,但是代码维护起来比较困难。

今天我们使用选项 1,因为它更简单并且只有一个模式。

希望对你有帮助。

关于javascript - 将 json 写入 Realmdb 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58739762/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com