如何索引和查询 Dexie.js 中的嵌套数组?
How can I index and query nested arrays in Dexie.js?
可以使用 MultiEntry indexes say any Indexable Type 的文档。
数组是可索引类型。因此应该可以索引数组的数组等等,对吧?
但是,我找不到任何示例或弄清楚如何查询这些。
基本上,我想要的是这样的:
var db = new Dexie('dbname');
db.version(1).stores({
books: 'id, author, name, *properties'
});
db.books.put({
id: 1,
name: 'Human Action',
author: 'Ludwig von Mises',
properties: [['language', 'english'], ['subject', 'philosophy'], ['subject', 'economics']]
});
然后可以找到一本有 economics
主题的书。
没错。 properties 数组中的每个条目都是一个包含两个字符串的数组 - 并且该内部数组本身是可索引的,并且可以充当可索引条目。
因此,要查找所有包含主题经济学的书籍,请执行
db.books.where({properties: ['subject', 'economics']}).toArray()
或等效形式:
db.books
.where('properties')
.equals(['subject', 'economics'])
.toArray();
可以使用 MultiEntry indexes say any Indexable Type 的文档。
数组是可索引类型。因此应该可以索引数组的数组等等,对吧?
但是,我找不到任何示例或弄清楚如何查询这些。
基本上,我想要的是这样的:
var db = new Dexie('dbname');
db.version(1).stores({
books: 'id, author, name, *properties'
});
db.books.put({
id: 1,
name: 'Human Action',
author: 'Ludwig von Mises',
properties: [['language', 'english'], ['subject', 'philosophy'], ['subject', 'economics']]
});
然后可以找到一本有 economics
主题的书。
没错。 properties 数组中的每个条目都是一个包含两个字符串的数组 - 并且该内部数组本身是可索引的,并且可以充当可索引条目。
因此,要查找所有包含主题经济学的书籍,请执行
db.books.where({properties: ['subject', 'economics']}).toArray()
或等效形式:
db.books
.where('properties')
.equals(['subject', 'economics'])
.toArray();