내가 많은 트윗이 같은 반대 한 몽고 DB의 수 : 여기그룹과
pipeline = [
{
"$group": {
"_id": {
"date": {
"$dateToString": {
"format": "%Y-%m-%d",
"date": "$created_at"
}
},
"type": "$type"
},
"count": {
"$sum": 1
}
}
}
]
results = mongo.db.tweets.aggregate(pipeline)
가 있습니다 : 내가 날짜를 입력하여 트윗을 qroup이 코드를 사용하고
{
"_id" : ObjectId("5a2f4a381cb29b482553e2c9"),
"user_id" : 21898942,
"created_at" : ISODate("2009-03-09T19:48:50Z"),
"id" : 1301923516,
"place" : "",
"retweet_count" : 0,
"tweet" : "Save the Date! March 28th Vietnamese Cooking Class! Call to Reserve 312.255.0088",
"favorite_count" : 0
"type": A
}
{
"_id": {
"date": "2009-03-17",
"type": A
},
"count": 4
,
{
"_id": {
"date": "2009-03-17",
"type": B
},
"count": 6
}
하지만 지금은이 형식으로 결과를 갖고 싶어 : 결과 나는 얻을
,536,{date: "2009-03-17", A: 4, B: 6, C: 9}
어쨌든 aggregate
을 통해이 문제를 해결할 수 있습니까?
참고 : 나는 당신은 3.6 버전에서 아래 집계 쿼리를 시도 할 수 있습니다 MongoDB를하고 PyMongo
그룹 아래, 푸시 타입 카운트 쌍, 다음 사용하여 마지막 단계를 교체 .4/reference/operator/aggregation/arrayToObject /와 루트를 대체하십시오. –