【问题标题】:Realm DB React native Schema - type must be of type 'string', got (undefined) ErrorRealm DB React native Schema - 类型必须是“字符串”类型,得到(未定义)错误
【发布时间】: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


【解决方案1】:

我有不同的错误 (got (0)),原因是架构类中存在一些错误。某些属性分配了值 0 而不是数据类型名称(双精度)。

【讨论】:

    【解决方案2】:

    我曾经更改过架构(我完全忘记了),因此我遇到了这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-03
      • 2019-11-10
      • 1970-01-01
      • 1970-01-01
      • 2016-10-14
      • 2019-09-19
      • 2016-06-29
      • 2017-12-12
      相关资源
      最近更新 更多