反应本机西瓜数据库集合返回未定义

时间:2019-11-04 15:24:28

标签: react-native watermelondb

预先感谢

我在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'

3 个答案:

答案 0 :(得分:0)

您是否正确定义了模型,架构和关系?在这里查看如何: SchemaModelRelation

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

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

答案 1 :(得分:0)

同样的事情发生在我身上。 确保您已完全配置数据库,就我而言,忘记将模型添加到 modelClasses []。

答案 2 :(得分:-1)

const myCollection = await database.collections.get('data_items').query().fetch();

您应该添加此代码以返回myCollection数组。