使用javascript / node.js在mongodb中查找带有另一个条件的对象的最早date

现在,假设我在模型文件中定义了一个数据库:

MessageSchema = mongoose.Schema({ message: String, sessionRef: { type: mongoose.Schema.Types.ObjectId, ref:'Session' }, dateCreated: { type: Date, default: Date.now } }); 

在另一个文件中,我将这个消息声明为:

 var Message = require("../models/message"); 

现在,我想使用mongoose创build一个查询,find具有特定sessionRef的最早的消息。 举个例子:

 Message.find({sessionRef : 123456}) 

这可以用来查找具有特定sessionRef的消息,但是我如何才能find最早的消息(按照dateCreatedsorting)?

按照最早的datesorting的方法是:

 Message.find({sessionRef : 123456}) .sort({'dateCreated': 'desc'}) .exec(function(err, messages) { //first item is a earliest message }); 

或者如果你想只返回一个项目,你可以使用findOne

 Message.findOne({sessionRef : 123456}) .sort({'dateCreated': 'desc'}) .exec(function(err, message) { //the message is the earliest });