indexeddb基于整数值

时间:2016-11-30 04:11:53

标签: sorting indexeddb dexie

我正在使用Dexie

var db = new Dexie('name');
db.version(4)
.stores({
  sentence: "&sentenceId, [sentence__authorId+sentenceChapter+sentenceNo], sentenceContent, headingContent, sentenceStarts, sentenceEnds"
  )};

我需要按句子

排序结果
db.sentence.where('[sentence_authorId+sentenceChapter+sentenceNo]')
.between([articleId, chapter_selected.toString(), -Infinity], [articleId, chapter_selected.toString(), '\uffff'])
.each (function (sentence) {
//............
});

但是我从上面的查询得到的结果就像是以字符串格式

排序整数列

例如:1,11,12,13,14 ......

如何在整数

中对sentenceNo进行排序

例如:1,2,3,4,......

1 个答案:

答案 0 :(得分:0)

你确定句子没有存储为字符串而不是数字吗? IndexedDB根据其类型枚举您的索引。

如果您确定typeof sentanceNo === 'number',我唯一能想到的就是如果你正在使用Safari< 10.使用 IndexedDBShim - 理论上,垫片可能有这种错误,但这只是一种理论。