Php MongoDB在列中按日期排序(文本)
我正在尝试运行一个查询,该查询返回特定日期范围内的文档 日期按如下方式存储:“Mon Feb 19 16:59:40+0000 2018”在名为“date”的列中。我知道通过运行sort{date:-1}可以按升序或降序排序,但是,我不相信MongoDB能够正确地执行这种比较 我正在考虑通过PHP脚本将所有这些日期转换为Unix时间戳,但是,必须有一种方法保持数据的原样并按日期列排序 因此,我的问题是如何运行查询来检索X和Y两个日期之间的所有文档?第二个问题,我是否最好在存储到MongoDB之前将日期预处理为Unix时间戳?关于第一个问题: 是的,可以这样使用骨料:Php MongoDB在列中按日期排序(文本),php,mongodb,Php,Mongodb,我正在尝试运行一个查询,该查询返回特定日期范围内的文档 日期按如下方式存储:“Mon Feb 19 16:59:40+0000 2018”在名为“date”的列中。我知道通过运行sort{date:-1}可以按升序或降序排序,但是,我不相信MongoDB能够正确地执行这种比较 我正在考虑通过PHP脚本将所有这些日期转换为Unix时间戳,但是,必须有一种方法保持数据的原样并按日期列排序 因此,我的问题是如何运行查询来检索X和Y两个日期之间的所有文档?第二个问题,我是否最好在存储到MongoDB之前
db.coll.aggregate()
.project({
dateTimestamp: {
$dateFromString: {
dateString: '$date'
}
//project additional necessary fields
}
})
.sort({dateTimestamp:1})
第二个问题:
如果没有理由不这样做,我可能已经把它存储为日期了。使用日期可以简化查询/排序