我有以下pairmodel集合模式:
[{
"_id" : ObjectId("5afaf31c8e7cd4d7e5675f17"),
"trans_id" : 2910372,
"fill_qty" : 3275466,
"fill_price" : 610600,
"fill_flags" : 2,
"currencyPair" : "BTC-INR",
"lastModifiedDate" : 1526395676478,
"__ds" : {
"_v" : 1
},
"ds_key" : "jh7skpq6-1lcoebwn5j3"
},
{
"_id" : ObjectId("5afaf3158e7cd4d7e5675e6d"),
"trans_id" : 2910369,
"fill_qty" : 276777,
"fill_price" : 610600,
"fill_flags" : 2,
"currencyPair" : "BTC-INR",
"lastModifiedDate" : 1526395669729,
"__ds" : {
"_v" : 1
},
"ds_key" : "jh7skkip-1pomnhe1sv0"
},
{
"_id" : ObjectId("5afaf30f8e7cd4d7e5675dfe"),
"trans_id" : 2910366,
"fill_qty" : 180150,
"fill_price" : 610600,
"fill_flags" : 2,
"currencyPair" : "BTC-INR",
"lastModifiedDate" : 1526395663092,
"__ds" : {
"_v" : 1
},
"ds_key" : "jh7skfec-16my2i58gl3"
},
{
"_id" : ObjectId("5afa7ea48e7cd4d7e55f0a15"),
"trans_id" : 2907344,
"fill_qty" : 6895,
"fill_price" : 610600,
"fill_flags" : 2,
"currencyPair" : "BTC-INR",
"lastModifiedDate" : 1526365860103,
"__ds" : {
"_v" : 1
},
"ds_key" : "jh7atn9j-22lylcn1u72"
}
]
下面是我的问题:
pairModel.aggregate([
{
'$match': {
'lastModifiedDate': {'$exists': true, '$ne': null, '$gt': lt24hrTS, '$lt': nowTS}
}
},
{
'$group': {
'_id': null,
'24hoursHigh': {'$max': '$fill_price'},
'24hoursLow': {'$min': '$fill_price'},
"volume": { "$sum": "$fill_qty"},
"lastTradedRate": { "$last": "$fill_price"},
"firstTradedRate": { "$first": "$fill_price"},
}
},
{ "$sort": { "lastModifiedDate": 1 } }
])
这给了我很低的高度
fill_price
,
firstTradedRate
给定的体积
lastModifiedDate
匹配条件。现在我的问题是,我想去掉匹配条件的最小-最大计算。也就是说,它应该给我最大最小值
填充价格
与上次修改日期条件无关。
完整的数据可以通过两个不同的查询轻松地查询,但是上面的聚合查询是否可以修改以满足单个查询中的所有条件?