0

我是新手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'));
4

2 回答 2

1

使用来自thisthat的建议,您可以尝试以下操作:

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');   
}
于 2015-05-13T10:44:23.883 回答
0

这是排序的语法。

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

并且criteria可以是以下任何一种:

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

这里,asc,升序和 1 是AscendingOrder 并且 desc,descending 和 -1 是DescendingOrder。

于 2016-07-27T09:45:03.150 回答