按日期查询,不考虑时间部分

Fab*_* B. 2 date mongoose mongodb node.js

我想显示我的博客文章,按创建日期分页。我将有一个 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,
});
Run Code Online (Sandbox Code Playgroud)

所以它会有类似 2012-10-01 18:45:03... 知道我的意思。

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

var searchDate = new Date(yy,mm,dd);
Run Code Online (Sandbox Code Playgroud)

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

我不确定这是否总是有效:

Post.find({ creationDate:dataRicerca })
Run Code Online (Sandbox Code Playgroud)

cir*_*rus 5

根据这篇文章;

如何使用 MongoDB 中的时间数据将年/月/日日期解析为更具体的日期?

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

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

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