4

提前致谢

我在 react native android 中使用西瓜数据库它返回未定义的集合。

 const handleDB = async () => {
    const myCollection = database.collections.get('data_items')

    await database.action(async () => {
      const newPost = await myCollection.create(post => {
        post.ItemID = 9
        post.ItemParentItem_ID = 8
      })
    })
  }

我从同一个功能组件中调用它

handleDB()

有什么解决办法

我的数据库

import { Database } from "@nozbe/watermelondb";
import SQLiteAdapter from "@nozbe/watermelondb/adapters/sqlite";
import { dbModel } from "./"
import { mySchema} from "./schema"

const adapter = new SQLiteAdapter({
    dbName: 'Northel',
    schema: mySchema
});

export const database = new Database({
    adapter,
    modelClasses: [dbModel],
    actionsEnabled: true,
});

如果我控制台日志 myCollection 我得到未定义。

我已将数据库导入为

import { database } from '../model/database'
4

3 回答 3

0

您是否正确定义了模型、模式和关系?在此处查看如何: SchemaModelRelation

如果一切正常,您是否稍后将此表添加到数据库中而不更新架构版本?如果是这样,请更新架构版本并重新安装您的移动应用程序。

如果这不起作用,请分享您的模型和模式定义,这将有助于识别问题。

于 2020-11-16T12:44:49.920 回答
0

这样的事情我也经历过。确保您已完全配置数据库,在我的情况下,忘记将模型添加到 modelClasses []。

于 2021-01-05T01:08:24.250 回答
-1

当您没有正确命名模型或在数据库设置中导入模型时,通常会发生这种情况

于 2020-03-12T16:54:35.090 回答