2015-04-02 74 views
1

我知道這是一個簡單的問題,但在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); 
     } 
    }) 

但它不工作:)

你能請告訴我我做錯了什麼?

回答

1

sort需要StringObject

Invoice 
.find() 
.sort("-total") 
.exec(function(err, inv) { 
    if (err) { 
     return res.send(err) 
    } else { 
     res.json(doc); 
     console.log(doc); 
    } 
})