在日期时间的月,日,年…上查询Mongodb


问题内容

我正在使用mongodb并且以这种方式将日期时间存储在数据库中

日期为“ 17-11-2011 18:00”,我存储:

date = datetime.datetime(2011, 11, 17, 18, 0)
db.mydatabase.mycollection.insert({"date" : date})

我想这样的要求

month = 11
db.mydatabase.mycollection.find({"date.month" : month})

要么

day = 17
db.mydatabase.mycollection.find({"date.day" : day})

有人知道如何执行此查询吗?


问题答案:

日期以其时间戳格式存储。如果您需要属于特定月份的所有内容,请查询月份的开始和结束时间。

var start = new Date(2010, 11, 1);
var end = new Date(2010, 11, 30);

db.posts.find({created_on: {$gte: start, $lt: end}});
//taken from http://cookbook.mongodb.org/patterns/date_range/