按日期查询,不论时间如何

时间:2012-10-12 08:41:23

标签: node.js mongodb date mongoose

我想显示我的博客帖子,按创建日期分页。我将在2012-10-01写一篇关于5篇帖子的页面,2012-10-03写的11篇帖子的页面,2012-10-02没有页面(没有写的帖子)

每个帖子文档都存储有创建日期,这是一个日期时间值,这里是一个猫鼬片段:

var postSchema = new Schema({
    url: String,
    creationDate: {type: Date, default: Date.now},
    contenuto: String,
});

所以它会像2012-10-01 18:45:03那样...知道我的意思。

在我的代码中,我将创建一个

var searchDate = new Date(yy,mm,dd);

如何在不考虑creationDate的“时间部分”的情况下使用它来查询帖子集合?

我不确定这总是有效:

Post.find({ creationDate:dataRicerca })

1 个答案:

答案 0 :(得分:2)

根据这篇文章;

How do I resolve a year/month/day date to a more specific date with time data in MongoDB?

您可以在架构中单独存储数据(以及完整日期),以便于搜索。你也可以这样做;

Post.find({Posted:{$gt: Date("2012-10-01"), $lt:Date("2012-10-02")}})

(更新为使用Date()而不是ISODate()以获得更好的兼容性)