0

我正在使用 Dexie

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

我需要得到按 sentenceNo 排序的结果

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...

如何对整数中的句子编号进行排序

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

4

1 回答 1

0

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

如果您确定这typeof sentanceNo === 'number'一点,我唯一能想到的就是如果您使用带有IndexedDBShim的 Safari < 10 - 从理论上讲,shim 可能存在这种错误,但这只是一个理论。

于 2016-11-30T10:08:57.607 回答