我们有一个内容交付应用程序,在该应用程序中,我们在JSON上删除了结构上的动态对象。React本机使用JSON,并从这些对象构建用户界面。
这是我现在正在使用的模式:
const CardSchema = {
name: 'Card',
properties: {
id: 'string',
cardSubType: 'string',
cardType: 'string',
state: 'string',
contentType: 'string',
context: {},
},
};字段context是动态部分。它基本上是一个可以有任意数量字段的对象。我们不知道在编译时哪些字段在那里。
我们希望使用realm.js来持久化我们的数据,因为它非常快速,而且我们在编译时可以对99%的对象进行模块化。
我们只想在这个字段(和其他几个字段)上存储任何对象。
这是可能的领域反应本土吗?或者,我是否需要将其建模为字符串,并在存储时进行序列化,在加载时进行反序列化?
发布于 2016-07-23 00:50:13
领域还不支持存储字典/动态对象。这无疑是路线图上的一些东西,因为能够简单地存储和检索JSON对象是非常自然的。在字典得到完全支持之前,您需要按照建议将数据存储为字符串,或者创建自己的JSON模型。有点像
const UNDEFINEDTYPE = 0;
const INTTYPE = 1;
const STRINGTYPE = 2;
const JSONValueSchema = {
name: 'JSONValue',
properties: {
type: 'int',
stringValue: { type: 'string', optional: true },
intValue: { type: 'int', optional: true },
jsonValue: { type: 'JSON', optional: true },
}
};
const JSONEntrySchema = {
name: 'JSONEntry',
properties: {
key: 'string',
value: 'string'
}
};
const JSONSchema = {
name: 'JSON',
properties: {
entries: { type: 'list', objectType: 'JSONEntry' }
}
}这样做有点冗长,但它将允许您在keyPath查询中充分使用查询系统,其中存储JSON将迫使您使用CONTAINS查询。不确定您的应用程序是否值得付出所有的努力。
发布于 2022-11-14 18:37:07
对于任何基于这个答案的人来说,字典现在是一个领域,可以存储动态数据。
https://stackoverflow.com/questions/38506128
复制相似问题