반응형
MongoDB Aggregation 오류: 파이프라인 단계 규격 개체는 정확히 하나의 필드를 포함해야 합니다.
저는 mongodb와 aggregation을 처음 시도해 봅니다.여기서, 저는 15분마다 그룹화된 트윗의 수를 얻으려고 합니다.mongo 콘솔에서 아래 쿼리를 실행하려고 하면 다음 오류가 발생합니다.
파이프라인 단계 규격 개체에는 정확히 하나의 필드가 포함되어야 합니다.
db.hashtag.aggregate([
{ "$group": {
"_id": {
"year": { "$year": "$tweettime" },
"dayOfYear": { "$dayOfYear": "$tweettime" },
"interval": {
"$subtract": [
{ "$minute": "$tweettime" },
{ "$mod": [{ "$minute": "$tweettime"}, 15] }
]
}
}},
"count": { "$sum": 1 }
}
])
SO에서 그 이유에 대한 좋은 설명을 찾을 수 없었습니다. 이 주제에 대한 당신의 생각과 제 질문에 오류가 있는 이유를 공유해 주십시오.
인식할 수 없는 파이프라인 단계 사양이 있어 MongoDB에서 불만을 제기하고 있습니다."count": { "$sum": 1 }
당신의 파이프라인 안에.
올바른 형식의 원래 파이프라인
db.hashtag.aggregate([
{
"$group": {
"_id": {
"year": { "$year": "$tweettime" },
"dayOfYear": { "$dayOfYear": "$tweettime" },
"interval": {
"$subtract": [
{ "$minute": "$tweettime" },
{ "$mod": [{ "$minute": "$tweettime"}, 15] }
]
}
}
},
"count": { "$sum": 1 } /* unrecognised pipeline specification here */
}
])
파이프라인 내에 다음과 같은 Aggregate Accumulator가 있어야 합니다.
{
"$group": {
"_id": {
"year": { "$year": "$tweettime" },
"dayOfYear": { "$dayOfYear": "$tweettime" },
"interval": {
"$subtract": [
{ "$minute": "$tweettime" },
{ "$mod": [{ "$minute": "$tweettime"}, 15] }
]
}
},
"count": { "$sum": 1 }
}
}
])
언급URL : https://stackoverflow.com/questions/42232375/mongodb-aggregation-error-pipeline-stage-specification-object-must-contain-exa
반응형
'programing' 카테고리의 다른 글
상속된 구성원 숨기기 (0) | 2023.05.01 |
---|---|
IO 예외:파일 '파일 경로'가 다른 프로세스에서 사용되고 있기 때문에 프로세스에서 액세스할 수 없습니다. (0) | 2023.05.01 |
회귀 분석 f의 계수를 스프레드시트 또는 csv 파일로 내보내는 방법은 무엇입니까? (0) | 2023.05.01 |
mongodb 데이터 디렉터리 사용 권한 (0) | 2023.05.01 |
각도에서 양식 배열에서 모든 항목 제거 (0) | 2023.05.01 |