2016-09-29 73 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)'之間做'。 –