如何使用.sort查询Mongoose()
问题描述:
我知道这是一个简单的问题,但在mongoose 4.0.1中,即使使用API文档,我也无法查询模型并对结果进行排序。如何使用.sort查询Mongoose()
我有一个发票集合,我想找到哪一个是“更好”的发票,具有较高的值(字段总数)。
的型号:
var invoiceSchema = new Schema ({
employee : { type: Schema.Types.ObjectId, ref: 'Employee' },
customer : { type: Schema.Types.ObjectId, ref: 'Customer' },
products : { type: Schema.Types.ObjectId, ref: 'Product' },
priced : Number,
qty : Number,
total: Number,
date : Date
});
如何创建一个发票:
exports.createInv = function (req, res) {
Invoice.create({
employee : req.body.employee,
customer : req.body.customer,
products : req.body.products,
priced : req.body.priced,
qty : req.body.qty,
total : req.body.priced*req.body.qty,
comment : req.body.comment,
date : req.body.date
}, function(err) {
if (err)
return res.send(err);
});
}
查询应该看起来像:
Invoice
.find()
.sort(-total)
.exec(function(err, inv) {
if (err) {
return res.send(err)
} else {
res.json(doc);
console.log(doc);
}
})
但它不工作:)
你能请告诉我我做错了什么?
答
sort
需要String
或Object
Invoice
.find()
.sort("-total")
.exec(function(err, inv) {
if (err) {
return res.send(err)
} else {
res.json(doc);
console.log(doc);
}
})