var start = new Date(2010, 3, 1)
var end = new Date(2010, 4, 1)
db.posts.find({created_on: {$gte: start, $lt: end}})
(代码内日期可自行设置修改)
问题:1,ISODate("2016-01-01T00:00:00Z"),这个是什么日期格式。
2,mongo vue的时间类型属性的相关查询。包括,大于某个时间,小于某个时间,在某一段时间范围。
3,了解一下mongo数据库中存储时间Date类型数据的秘密。
MongoDB 日期查询目前可通过Date 和ISODate两种方式:
1.Date方式。
例如startDate<=2012.12.7且endDate>=2012.12.7:可翻译为
"startDate":{$lte:new Date(2012,11,7)},"endDate":{$gte:new Date(2012,11,7)}。
如下是查询日期大于等于2016年12月1日的记录条数(注意,中间的月份写11,就是12月)
db.xxx.find({"updateTime" : {$gte:new Date(2016,11,1)}})
看下图,发现,mongo vue自动给日期转换为ISODate的格式了。
你需要有一个字段标示写入数据库的时间,然后查询的时候,设定查询时间段:db.things.find({"createTime":{"$gt":"2014-10-29 0:0:0"}}) // 大于某个时间
db.things.find({"createTime":{"$lt":"2014-10-29 0:0:0"}}) // 小于某个时间
db.things.find({"$and":[{"createTime":{"$gt":"2014-10-29 0:0:0"}},{"createTime":{"$lt":"2014-10-29 0:0:0"}}]}) // 某个时间段
可以参考 http://www.cnblogs.com/egger/archive/2013/06/14/3135847.html
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)