获取数据时的日期比较

时间:2016-12-02 08:38:29

标签: node.js

-->

我在mongoDb中有一个名为startDate的字段,其数据类型为字符串,其中的值以2016年6月11日格式存储。由于字符串数据类型,以下查询在find()中的影响较小。我知道如果startDate的数据类型是Date,那会更好。

"startDate": {
$gte: "01-jun-2016"
}

如何比较日期?

2 个答案:

答案 0 :(得分:0)

你不能在mongo中使用这种格式约会,你必须检索记录然后比较。日期应以ISO8061格式存储

答案 1 :(得分:0)

最佳选择是规范化(或添加)readable_article = Document(html).summary().encode('ascii', 'replace')字段到ISODate索引字段进行查询:

startDate

作为()替代方法,您可以使用$where命令进行自定义比较(它会评估JS代码并且无法利用索引):

db.yourcollection.find({"startDate": {$gte: ISODate("2016-06-01")}, ...);

或者某些黑客使用$regex表达式,或使用Aggregation framework使用$ project执行一些hacky日期转换并使用$ match过滤...

相关问题
最新问题