1

假设这是您的模型:

var EventSchema = new Schema({
    title: String,
    startDate: Date,
    endDate: Date
});

我想输入一个日期(就像“24-12-2012”一样简单),然后检索在那一天开始或进行的每个事件。

你是怎样做的?

4

1 回答 1

4

当然:

首先阅读日期的 mongo 查询语法,这是日期范围的操作方法:http: //cookbook.mongodb.org/patterns/date_range/

然后将该 mongo 语法翻译成 mongoose。

Event.where('startDate').lte(yourDate).exec(callback); //should do the trick

现在您只需要将日期字符串解析为 javascript 日期。有一些很酷的库可以做到这一点,我相信moment.js不会对那个日期字符串有问题。

哦,我忘了最后一点魔法:将该查询放入附加到您的事件模型的静态方法中,所以从现在开始您可以调用

Event.earlierThan(yourDate, callback); //Where your custom static is called 'earlierThan'.
于 2012-07-31T13:55:32.227 回答