Answer a question

If I add a Dexie.js query in a JavaScript file such as:

let friends = liveQuery(async () => {
  return await db.friends
    .where("age")
    .between(18, 65)
    .toArray();
});

I get a hint like this:

"Property 'friends' does not exist on type 'Dexie'.ts(2339)"

Why?

Putting it in a Svelte file is fine, but I would like to keep some basic queries in one place, like find, add, and delete.

Answers

I suppose you are referring to a TypeScript error. If you are not subclassing Dexie as suggested on Dexie's Svelte tutorial, you cannot use db.friends directly without TypeScript complaining. If you don't want to subclass Dexie, you can also use the table() method:

let friends = liveQuery(async () => {
  return await db.table('friends')
    .where("age")
    .between(18, 65)
    .toArray();
});
Logo

开发云社区提供前沿行业资讯和优质的学习知识,同时提供优质稳定、价格优惠的云主机、数据库、网络、云储存等云服务产品

更多推荐