In Node.js è semplice ordinare i risultati per data utilizzando Mongoose.
In MongoDB lo schema dei documenti di una collezione dovrebbe avere un campo di tipo Date
. Quindi la procedura è semplice:
var mongoose = require('mongoose');
mongoose.connect('mongodb://127.0.0.1/blog');
var Schema = mongoose.Schema;
var PostsSchema = new Schema({
post_author: String,
post_date: Date,
post_content: String,
post_title: String,
post_excerpt: String,
post_slug: String
},{collection: 'posts'});
module.exports = mongoose.model('Posts', PostsSchema);
A questo punto possiamo ordinare i risultati per data:
var express = require('express');
var Posts = require('./models/Posts');
var app = express();
app.set('view engine', 'ejs');
app.get('/posts', function(req, res) {
var query = Posts.find().limit(3).sort({ post_date: -1 });
query.exec(function(err, results ) {
if(!err) {
var data = {
posts: results
};
res.render('pages/posts', data);
}
});
});