У меня есть набор записей, которые выглядят так:
"_id" : ObjectId("bbbbbb1d9486c90479aaaaaa"),
"record" : {
"type" : "MX_GTI",
"products" : [
"DAM"
],
"services" : [
"MySQL",
"DB2",
"MSSQL"
],
"agents" : [
{
"gatewayName" : "impDBFgw01",
"agentId" : 10140,
"hpsAvg" : 772,
"hpsMax" : 42901,
"services" : "mssql"
},
{
"gatewayName" : "impDBFgw01",
"agentId" : 10120,
"hpsAvg" : 95,
"hpsMax" : 21631,
"services" : "mssql"
},
{
"gatewayName" : "impDBFgw02",
"agentId" : 10187,
"hpsAvg" : 0,
"hpsMax" : 0,
"services" : "mssql"
},
{
"gatewayName" : "impDBFgw03",
"agentId" : 10213,
"hpsAvg" : 0,
"hpsMax" : 0,
"services" : "db2"
}
],
"gateways" : {
"impDBFgw01" : {
"gatewayName" : "impDBFgw01",
"avgHps" : 875,
"maxHps" : 15474
},
"impDBFgw02" : {
"gatewayName" : "impDBFgw02",
"avgHps" : 0,
"maxHps" : 0
},
"impDBFgw03" : {
"gatewayName" : "impDBFgw03",
"avgHps" : 2892,
"maxHps" : 76009
}
},
"debug" : false
}
}
Мне нужна помощь с двумя запросами:
- Для всех записей с
type MX_GTI
и products
включающие DAM
, получить поля services
, hpsAvg
и hpsMax
для каждого агента в массиве agents[]
в виде строки в формате <services>/<hpsAvg>/<hpsMax>
. Примечание. Службы могут быть массивом. - Для тех же записей получить количество шлюзов (количество элементов в объекте
gateways
). Это не массив, и я не могу это изменить.
Спасибо. Любая помощь будет оценена.