группа pymongo по дате и времени

Я пытаюсь искать в коллекции и группировать записи по полю даты, которая является датой и временем. Я знаю, что pymongo преобразует их в соответствующий тип на заднем плане (ISODate или что-то в этом роде).

Вопрос в том, что поскольку объекты datetime имеют дату, время, часовой пояс ... как я могу сказать оператору группы использовать только часть даты? Потому что в противном случае я не получаю нужную группировку, поскольку время не позволяет группировать записи с одним и тем же днем, месяцем и годом.

db.test.aggregate([
        {"$group": {
             "_id": "$date", 
             "count": {"$sum": 1}
        }},
        {"$limit": 10}])

Результат:

{u'ok': 1.0,
 u'result': [
  {u'_id': datetime.datetime(2014, 2, 15, 18, 49, 9, tzinfo=<bson.tz_util.FixedOffset object at 0x318f210>),
   u'count': 1},
  {u'_id': datetime.datetime(2014, 2, 15, 18, 36, 38, tzinfo=<bson.tz_util.FixedOffset object at 0x318f210>),
   u'count': 1},
  {u'_id': datetime.datetime(2014, 2, 15, 18, 23, 56, tzinfo=<bson.tz_util.FixedOffset object at 0x318f210>),
   u'count': 1}]}

Было бы неплохо контролировать информацию о дате и времени, используемую для группировки,

только по датесгруппировать по дате и часугруппировать по дате, часам и минутами т.п.

Есть ли что-то вроде: (или какой-то способ сказать, чтобы использовать только дату)

db.test.aggregate([
          {"$group": {
              "_id": "$date.date()",
              "count": {"$sum": 1}
          }},
          {"$sort": "_id"}
])

Или, может быть, есть другой способ решения этой проблемы? Благодарю.

Ответы на вопрос(1)

Ваш ответ на вопрос