Rapporto basato su dati MongoDB

0

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.

    
posta Max 07.07.2017 - 10:43
fonte

1 risposta

-2

La funzione di aggregazione è la strada sbagliata qui. MongoDb offre funzioni di riduzione della mappa link In sostanza, nella funzione "mappa" è necessario ottenere i valori di data raggruppati per caso ID. E il calcolo dell'intervallo di tempo dovrebbe essere messo nella funzione "ridurre". Se hai difficoltà con questo, puoi chiedere a questi ragazzi www.issart.com. A volte uso l'aiuto di questi ragazzi.

    
risposta data 07.07.2017 - 10:52
fonte

Leggi altre domande sui tag