【发布时间】:2022-04-15 18:40:29
【问题描述】:
这是我从 API 获取的消息历史记录的架构
export default class MessageSchema {
static schema = {
name: 'MessagesHistory',
primaryKey: '_id',
properties: {
_id: 'string',
text: 'string',
createdAt: 'string',
user: {
uname: 'string',
name: 'string',
_id: 'string',
avatar: 'string',
rid: 'string',
},
},
};
}
这是我的领域功能
import Realm from 'realm';
import ChatlistSchema from './ChatlistSchema';
import MessageSchema from './MessageSchema';
export default function getRealm() {
return Realm.open({
schema: [ChatlistSchema, MessageSchema],
});
}
每当我尝试将 MessagesSchema 添加到 Schema 数组时,它都会拒绝我的承诺,并且来自 ChatlistChema 对象的数据也不会加载。
*Error: type must be of type 'string', got (undefined)
[native code]*
............
有谁知道我做错了什么?
【问题讨论】:
-
您的插入值之一的字符串类型无效,请在调试器中检查您的闭包或
console.log插入数据的值。 -
您是否从 API 获取消息架构的数据?在您的消息模式中,将出现一个对象参数而不是字符串,因此您的领域数据库没有保存您的数据。请通过邮递员检查您的数据或在您的应用中设置断点,并验证您的数据。
-
@VahidAlimohamadi 我还没有插入数据,它在我创建架构并保存文件后立即显示此承诺拒绝。!可以吗?
-
您可以在这里查看我的工作代码并找出您的代码有什么问题:github.com/cybercoder/3cho/blob/master/client/src/db/index.js
标签: javascript react-native realm