La mia applicazione interagisce con un sistema esterno. Esistono più interazioni richiesta-risposta per un singolo caso aziendale. Questa informazione (messaggi di richiesta e di risposta) viene anche registrata in MongoDB. La struttura è simile a:
{
_id: ObjectId("..."),
caseId: "PRC-122",
msg_date: ISODate("2017-06-10T11:21:41.112Z"),
type: "REQUEST",
systemId: "ASR",
message: ""
}
Per ora, le informazioni MongoDB vengono utilizzate principalmente per la risoluzione dei problemi post-azione. Supponiamo che alcuni casi aziendali finiscano con un errore. Quindi potremmo ottenere tutti i messaggi nell'ambito di questo caso (caseId) e vedere il motivo dell'errore (SOAPFault, ad esempio). Ora ho bisogno di preparare un rapporto sulla qualità del servizio. Supponiamo che vi sia una catena di messaggi nell'ambito del singolo caso aziendale. Devo calcolare l'intervallo di tempo (in ore) tra la prima richiesta a un sistema esterno e l'ultima risposta. Non capisco come creare questo tipo di query. So che MongoDB ha una funzione di aggregazione ma non mi aiuta affatto.