【发布时间】:2019-11-04 15:24:28
【问题描述】:
提前致谢
我在 react native android 中使用西瓜数据库,它为集合返回 undefined。
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'
【问题讨论】:
-
当您从 Model.Net 正确扩展您的模型时,也会出现此问题。在我们的例子中,我们不小心使用了
implements而不是extends。也许它可以让其他人省去几个小时的艰苦搜索。 -
你有没有发现是什么原因造成的?我也遇到了它,但我肯定正确设置了 WatermelonDB,因为我能够写入数据库但我的读取返回未定义。