【问题标题】:node.js sorting object (mongoose, express, ejs)node.js 排序对象(猫鼬,快递,ejs)
【发布时间】:2017-12-21 08:01:41
【问题描述】:

我在我的博客应用程序的索引中对我的数据对象进行排序时遇到了这个问题。 我有一个基于 Express 使用 ejs 和 mongoDB 使用 mongoose 的博客应用程序。 我想要的是对结果进行排序,以便最新的帖子从顶部开始。此时它将在顶部显示第一个帖子。

app.js / mongoose 架构

blogSchema = new mongoose.Schema({
  title: String,
  image: String,
  body: String,
  created: {type: Date, default: Date.now}
});
var Blog = mongoose.model("Blog", blogSchema);

app.js / 索引路由

app.get("/blogs", (req, res)=>{
  Blog.find({}, (err, blogs)=>{
    if(err){
      console.log("Error!");
      console.log(err);
    } else {
        res.render("index", {blogs: blogs});
    }
  });
});

index.ejs foreach

<% blogs.forEach(function(blog){ %>
  <img alt="img" src="<%= blog.image %>">
  <a href="/blogs/<%= blog._id %>"><%= blog.title %></a>
  <span><%= blog.created.toDateString() %></span>
  <p><%- blog.body.substring(0, 200) %>...</p>
  <a href="/blogs/<%= blog._id %>">Read More</a>
<% }) %>

有人知道我该怎么做吗?

【问题讨论】:

    标签: node.js mongodb express object ejs


    【解决方案1】:

    你可以使用Mongoosesort()方法:

    Blog.find((err, blogs) => {
      if (err) {
        console.log(err);
      } else {
        res.render("index", { blogs: blogs });
      }
    }).sort({ created: 'desc' });
    

    【讨论】:

    • 好吧,太棒了。如此简单,但我还很遥远!非常感谢!
    猜你喜欢
    • 2019-09-16
    • 2019-06-19
    • 2016-07-14
    • 1970-01-01
    • 2011-08-28
    • 1970-01-01
    • 2013-10-26
    • 2020-04-26
    • 2021-04-12
    相关资源
    最近更新 更多