在keystone.js中对数据进行排序

时间:2015-05-13 09:49:58

标签: javascript mongodb keystonejs

我是keystone.js的新手。我有这种格式的数据:

{ _id: 5551823e7771fc3f0decb03e,
       slug: 'marketing-manager',
       title: 'marketing manager',
       __v: 0,
       description: '<p>marketing stuff</p>',
       location: 'London',
       order: '2',
       orderno: 2 
},
{
       _id: 5552fb667ebab90c0e8b0440,
       slug: 'a-web-developer',
       title: 'a Web developer',
       __v: 0,
       description: '<p>Keystone web developer.</p>',
       location: 'India',
       order: '1',
       orderno: 1 
}

我想用orderno订购这些数据。

我正在使用此查询:

view.query('Jobs', keystone.list('Job').model.find().sort('orderno'));

2 个答案:

答案 0 :(得分:1)

使用 this that 中的建议,您可以尝试以下方法:

var keystone = require('keystone'),
    Job = keystone.list('Job');

exports = module.exports = function(req, res) {

    var view = new keystone.View(req, res); 
    // LOAD Jobs
    // ------------------------------   
    view.on('init', function(next) {        
        Job.model.find()            
            .sort('orderno')
            .exec(function(err, jobs) {
                if (err) return res.err(err);
                res.jobs = topics;
                next();
            });

    }); 

    view.render('site/jobs');   
}

答案 1 :(得分:0)

以下是sortinng的语法。

model.find().sort({name: 'criteria'}).exec(function(err, model) { ... }

criteria可以是以下任何一种:

asc, desc, ascending, descending, 1, or -1

这里,asc,升序和1是Ascending Order And desc,降序和-1是Descending顺序。