Mi función es simple. Cree una tabla, coloque datos de forma masiva y recupere objetos según el índice.
const db = new Dexie('data'); const dataToInsert = [{id: "aaaa", name: "bbb"}] function data() { var exists = await Dexie.exists("data"); if (!exists) { await db.version(1).stores({ data: 'id,name' }); await db.geo.bulkPut(dataToInsert); } var record = await db.geo.get("aaaa"); }Puedo ver que todo está insertado. Pero la función GET está regresando:
Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'get')
Incluso db.geo no está definido... ¿alguna idea de por qué?
El problema es que no ha definido el esquema de la tabla geo , por lo que Dexie no lo sabe.
Si se refería a un esquema de data en lugar de un esquema geo , para solucionarlo simplemente cambie data a geo en la definición del esquema
const db = new Dexie('data'); const dataToInsert = [{id: "aaaa", name: "bbb"}] function data() { var exists = await Dexie.exists("data"); if (!exists) { await db.version(1).stores({ data: 'id,name' }); await db.data.bulkPut(dataToInsert); } var record = await db.data.get("aaaa"); } O agregue el esquema geo faltante.