【问题标题】:Sorting list by chronological order in node.js在node.js中按时间顺序排序列表
【发布时间】:2016-01-20 12:22:12
【问题描述】:

这里的菜鸟问题:

我正在为我的 Node 项目使用 Hapi 框架和 Handlebars。

我的问题是,当用户上传项目时。我希望向他们显示该项目并按日期排序。这可能是对的,但我认为我需要将时间戳从数据库中提取到我的视图中,并创建一个命令该时间戳的函数。但我不知道我会把这个功能放在哪里,在我的观点或其他地方。我正在使用 MySQL 数据库

请帮忙。 谢谢

【问题讨论】:

    标签: javascript node.js handlebars.js hapijs


    【解决方案1】:

    对于简单的排序,我会首先查看您的数据库。你没有提到你正在调用什么数据库,例如 mongo 看起来像这样:

    db.collection.find({ ... spec ... }).sort({ key: datecreated })
    

    这样数据就被预先排序了。或者,如果您的节点 js 操作中有您的数据,您可以在从您的数据库拉入一个数组之后,但在传递到您的视图之前,使用类似 lodash 的东西对其进行排序。完成上述任一操作后,在您看来,您只需遍历在服务器端预先排序的数组中的每个值。

    https://lodash.com/docs#orderBy

    但是,如果您希望自己的图像与其他图像一起出现而不需要重新搜索数据库,您可能需要像 Angular 这样的实时模型系统。

    【讨论】:

    • 我正在使用 MySQL 数据库。
    • 不确定你用什么来连接 MySQL,这看起来很有趣github.com/felixge/node-mysql,它有一个有据可查的方法顺序。
    【解决方案2】:

    在项目表中,将 created_date 默认设置为 CURRENT_TIMESTAMP ;使用它在 mysql 查询中进行排序。

    当获取要显示的项目时;使用order by created_date

    除非我误解了你的问题。

    【讨论】:

    • 我要问的基本上是,如何获取要显示的那些项目,以便用户可以相应地查看它们。
    猜你喜欢
    • 1970-01-01
    • 2016-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多