【问题标题】:Dexie: How to add an item to the top?Dexie:如何将项目添加到顶部?
【发布时间】:2018-02-05 15:49:34
【问题描述】:

我正在使用 Dexie 数据库。添加到表格末尾:

tabs.add({}, tabs.getIndex(tabs.getSelected()) + 1)

如何在表格顶部添加项目?

我尝试了以下选项:

tabs.add({}, 0)
tabs.add({})
tabs.put({})

【问题讨论】:

  • 没有“end”或“top”,您必须在数据中有一些值来对值进行排序,然后再检索它们。
  • Sami Kuhmonen,如何最轻松地做到这一点?

标签: javascript node.js database dexie


【解决方案1】:

萨米人,

从 Dexie 表中获取有序项目列表的一种方法是使用 sortBy()

这是一个使用名为 messages 的假想表的示例,该表具有两个字段 - 名称和日期:

db.messages
.where('name')
.equals('fred')
.sortBy('date').then(function(returnedMessages) {
  for (i = 0; i < returnedMessages.length; i++) {
    console.log(returnedMessages[i].date);
  } 
});

如果要反转排序,请使用 reverse() :

db.messages
.where('name')
.equals('fred')
.reverse()
.sortBy('date').then(function(returnedMessages) {
  for (i = 0; i < returnedMessages.length; i++) {
    console.log(returnedMessages[i].date);
  } 
});

希望有帮助!

作为参考,以下是我为获取此信息而获取的两个文档页面: http://dexie.org/docs/Collection/Collection.sortBy()
http://dexie.org/docs/Table/Table.reverse().html

弗兰克

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-06
    • 1970-01-01
    • 2016-12-15
    • 1970-01-01
    • 2017-01-11
    • 1970-01-01
    • 2015-08-24
    相关资源
    最近更新 更多