Может ли кто-нибудь помочь мне с запросом на получение подсчета массива bal по дате> 2015-08-02 и по дате <2016-05-02? </p>
Моя коллекция:
{
"_id" : {
"a" : "NA",
"b" : "HXYZ",
"c" : "12345",
"d" : "AA"
},
"bal" : [
{
"type" : "E",
"date" : "2015-08-02"
},
{
"type" : "E",
"date" : "2017-08-01"
},
{
"type" : "E",
"date" : "2016-07-07"
}
]}
Я пробовал следующий запрос:
db.getCollection(bal).aggregate([
{$match:{
"_id_a" : "NA"
}
},
{
$project: {
"bal": 1,
lessThanDate: {
$cond: [ {$lt:["$bal.date","2016-05-02"]}, 3, 0]
},
moreThanDate: {
$cond: [ {$gt:["$bal.date","2015-08-02"]}, 4, 0]
}
}
},
{
$group: {
_id: "$bal",
countSmaller: { $sum: "$lessThanDate" },
countBigger: { $sum: "$moreThanDate" }
}
}
])
Запрос не выполняется должным образом.
Ожидаемый результат должен быть равен количеству массивов как1.
Пожалуйста, помогите мне с запросом, так как я новичок в mongodb.Заранее спасибо.