2017-01-03 88 views
1

我的收藏有日期键,字符串格式, 所以如何查询查找日期计数或我可以找到有多少数据: 我试过一个实验,但它不工作;在MONGODB中的两个日期之间获取字符串日期?

db.colName.find({"date": {$gte: "Tue Aug 30 16:43:22 IST 2016",$lt: "Tue Aug 30 16:43:22 IST 2016"}}) 

请问是否可以在MongoDB中或者我怎么能找到我的愿望结果?

+2

为了获得最佳效果,请将日期的字符串表示形式转换为正确的Date类型,如本问题http:// stack overflow.com/questions/10942931/converting-string-to-date-in-mongodb – chridam

回答

0

您需要获取所有数据,以正确格式解析所有日期,然后对其进行过滤。

如果您正在使用javascript结果保存在某个变量,并做到这一点...

result.map(function(singleResult) { 
    Date.parse(singleResult.date) 
    return singleResult 
}); 
+0

我如何改变这种格式? –

-1

你可以用ISODate

db.colName.find({"date": {$gte: ISODate("2016-08-30 16:43:22"),$lt: ISODate("2016-08-30 16:43:22")}}) 

同样是可以做到的JavaScript日期也

db.colName.find({"date": {$gte: new Date("2016-08-30 16:43:22"),$lt: new Date("2016-08-30 16:43:22")}}) 
+0

他不能,因为显然他的日期被保存为字符串。 –

+0

这是不正确的做法... –

+0

哦,我的坏,我认为日期是以日期格式存储。那么就没有办法用查询来做到这一点,也许你需要运行一个脚本来将字符串更改为所有文档的日期格式。 –

相关问题