angular-indexedDB
angular-indexedDB copied to clipboard
as fou multiple conditions
$indexedDBProvider
.connection('myIndexedDB11')
.upgradeDatabase(1, function(event, db, tx) {
var objStore = db.createObjectStore('5173', {
keyPath: "id",
autoIncrement: true
});
objStore.createIndex('i3n_idx', ['hero','skin','price'], {
unique: false
});
});
$indexedDB.openStore('5173', function(store) {
var find = store.query();
// $between(lower, upper, doNotIncludeLowerBound? true/false, doNotIncludeUpperBound true/false) - between two bounds
find.$between(
[$scope.vm.Hmin, $scope.vm.Smin, $scope.vm.Pmin], [$scope.vm.Hmax, $scope.vm.Smax, $scope.vm.Pmax], true, true
);
find.$index("i3n_idx");
store.eachWhere(find).then(function(accounts) {
$scope.vm.result = accounts;
});
});
It looks like it just looking at the first condition( Hmin,Hmax ), ignoring the other conditions [(Smin,Smax)...].
Sorry, it was a little unclear to me at first read. Looks like you have a compound index. $between is a really thin wrapper on the indexed-db API, so the problem you're dealing with is with the indexed db api. I haven't tried to iterate on multi value indices, so let me know if angular indexed db needs some additional support to allow you to do this.
compound index here~ https://jsbin.com/ruzaju/8/edit?html,console,output
:) I should apologize for my crude code
