1
와 매치 조작 나는 다음과 같은 목적을 가지고 :MongoDB의 :의 dayOfWeek 필터
{
...
"junctionId" : "6301",
"ts" : ISODate("2016-08-10T11:17:47.000Z")
...
}
내가 일주일의 특정 일의 타임 스탬프가없는 문서를 필터링 할. 나는 이것에 의해
을 할 수db.getCollection('phasedata-test').aggregate([
{ $match : {
ts : { $gte : ISODate('2016-08-18T21:00:00.000Z'), $lte: ISODate('2016-08-25T21:30:00.000Z') },
junctionId : { $eq : "6301"}}
},
{
$sort: {ts : 1}
},
{ "$group": {
"_id": {
"year": { "$year": "$ts" },
"month": { "$month": "$ts" },
"day": { "$dayOfMonth": "$ts" },
"hour": { "$hour": "$ts" },
"interval": {
"$subtract": [
{ "$minute": "$ts" },
{ "$mod": [{ "$minute": "$ts"}, 15 ] }
]
}
},
"dayOfWeek": { "$first": { "$dayOfWeek": "$ts" }},
}
},
{ $match :{
"dayOfWeek" : { $eq : 5}}
}
id grouping
보지 마십시오. 그것은 내 질문에 필요합니다.
문서 수가 많을 수 있으므로 처리 할 문서 수를 줄이고 싶습니다. 어떻게 요일 필터 먼저 일치 작업에 사용할 수 있습니까? 필드 dayOfWeek
기지 문서를 추가 : 관련
그래,이 솔루션은 어떤면에서는 우아 할 것이지만 객체 모델은 이미 개발되었고 코드도 작성되었으므로 변경을 너무 많이 원하지는 않습니다. – nurgasemetey