0
배열의 하위 문서를 가져오고 필터링하려고합니다. 항상mongoose 4.7.5 : 배열에 하위 문서를 가져 오는 방법
Model.findById(id)
.select('stats')
.where('stats.createdAt').gt(data-value).lt(data-value)
그러나 결과 :
{
"_id": {
"$oid": "58bc4fa0fd85f439ee3ce716"
},
"updatedAt": {
"$date": "2017-03-08T20:39:19.390Z"
},
"createdAt": {
"$date": "2017-03-05T17:49:20.455Z"
},
"app": {
"$oid": "58ae10852035431d5a746cbd"
},
"stats": [
{
"meta": {
"key": "value",
"key": "value"
},
"_id": {
"$oid": "58bc4fc4fd85f439ee3ce718"
},
"data": "data",
"updatedAt": {
"$date": "2017-03-05T17:49:56.305Z"
},
"createdAt": {
"$date": "2017-03-05T17:49:56.305Z"
}
},
{
"meta": {
"key": "value",
"key": "value"
},
"_id": {
"$oid": "58c06bf79eaf1f15aafe39d0"
},
"data": "data",
"updatedAt": {
"$date": "2017-03-08T20:39:19.391Z"
},
"createdAt": {
"$date": "2017-03-08T20:39:19.391Z"
}
}
]
}
는 내가 뭘 얻고 싶은 것은 두 날짜 사이의 통계 배열의 하위 문서 내가 몽구스 쿼리 체인을 시도입니다 :
문서는이 구조를 가지고 모든 하위 문서를 포함한 전체 문서
은 또한이 같은 집계 시도 :
Model.aggregate({
$match: {
'stats.createdAt': '2017-03-05T17:49:56.305Z'
}
})
결과는 항상 '2017-03-05T17:49:56.305Z'
가 String
때문에 귀하의 결과가 null null
안녕! 이벤트 예제의 데이터가 DB에 존재하지만 솔루션의 결과가 빈 배열 [] – user3462064
일 수 있습니다. 아마도 'ObjectId' 유형으로 인해 내 게시물을 업데이트했습니다. –