2016-09-29 68 views
0

我有以下表模式:凡复合指数条款产生的“没有索引”错误

db.version(1).stores({ 
    sales: "[item_id+date],sales" 
}); 

dateitem_id组合必须是唯一的。如何使用where条款(无视日期)获得给定item_id的所有记录?

下产生一个错误:

db.sales.where('item_id').equals(some_item_id) 

Unhandled rejection: SchemaError: KeyPath item_id on object store sales is not indexed

回答

2
db.sales.where('[item_id+date]').between ([some_item_id, -Infinity], [some_item_id, Dexie.maxKey]) 
+0

谢谢你。出于某种原因,上述内容返回'n-1'记录。也许是因为'之间'是非包容性的? –

+0

OK,'([some_item_id,-Infinity],[some_item_id,Dexie.maxKey,true,true)'之间做'。 –