Node.js: ordinare i risultati per data con Mongoose

Node.js: ordinare i risultati per data con Mongoose

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

Torna su