我试图建立一个查询,以返回符合该条件的所有账户的ObjectId:MongoDB:如何使用聚合框架返回objectIDs?
- 状态不等于-1
- created_at小于或等于午夜(UTC)在30天前
- created_at一个月中的某一天等于当天的月份
我可以做#1和#2,但是卡在#3上,并且还包括结果中的ObjectId。
Account._get_collection().aggregate([
{ "$match": {
"status": { "$ne": -1 },
"created_at": { "$lte": datetime.datetime.utcnow().replace(hour=0, minute=0, second=0, microsecond=0) - datetime.timedelta(days=30), }
}},
{ "$group": {
"_id": {
"dayOfMonth" : { "$dayOfMonth": "$created_at" },
},
}},
{ "$project": {
"_id": "1"
}}
])
我知道月的某一天也许应该达到在比赛部分,需要添加到组部分返回的ObjectID东西。
我错过了什么?
请问您可以发布集合中的示例文档吗? – BatScream 2014-11-22 19:33:04