预先感谢
我在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'
答案 0 :(得分:0)
您是否正确定义了模型,架构和关系?在这里查看如何: Schema,Model和Relation。
如果一切正常,您以后是否将此表添加到数据库中而不更新架构版本?如果是这样,请更新架构版本并重新安装您的移动应用程序。
如果这不起作用,请共享您的模型和架构定义,这将有助于识别问题。
答案 1 :(得分:0)
同样的事情发生在我身上。 确保您已完全配置数据库,就我而言,忘记将模型添加到 modelClasses []。
答案 2 :(得分:-1)
const myCollection = await database.collections.get('data_items').query().fetch();
您应该添加此代码以返回myCollection数组。