node.js - Mongoose .js : finding data entries by day

标签 node.js mongodb mongoose

假设这是您的模型:

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

我想输入一个日期(就像“2012 年 12 月 24 日”一样简单),然后检索当天开始或继续的每个事件。

你是怎么做到的?

最佳答案

当然:

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

然后将该 mongo 语法转换为 mongoose。

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

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

哦,我忘记了最后一点魔法:将该查询放入 static method附加到您的事件模型,因此从现在开始您只需调用

Event.earlierThan(yourDate, callback); //Where your custom static is called 'earlierThan'.

关于node.js - Mongoose .js : finding data entries by day,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11740855/

相关文章:

mongodb - 如何通过MongooseJS操作/删除MongoDB中的子文档?

node.js - 安装 Cordova CLI 和 Ionic

node.js - Bower/npm 如何知道项目位于哪个 github 用户中

node.js - 文件系统等重名功能

javascript - 在 Mongoose 模式默认日期值中将月份添加到当前日期

ruby-on-rails - 我将如何过滤掉子文档?

javascript - 编写 Sequelize 迁移以更新删除属性上的表

javascript - 无法在 heroku 上使用 Node.js 执行多个名称字段 POST

python - 在 mongoengine 中定义 Many2Many、Many2One 的正确方法是什么

java - 使用 spring-boot 对 Rest 服务进行访问控制