最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

node.js排序对象(mongoose,express,ejs)

运维笔记admin12浏览0评论

node.js排序对象(mongoose,express,ejs)

node.js排序对象(mongoose,express,ejs)

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

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>
<% }) %>

有谁知道我怎么能做到这一点?

回答如下:

你可以使用猫鼬的sort()方法:

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

评论列表(0)

  1. 暂无评论