2017-08-03 2 views
0

J'ai une base de données où j'ai des documents comme les clients (customerId, firstName, lastNom, phoneNo, eMail) et la facture (invoiceId, invoiceDate, customerId).Obtenir le total des factures par client

Je souhaite obtenir la somme des factures par client dans une vue. J'utilise actuellement Fauxton 2.0.

Mon opinion est actuellement:

function (doc) { 
    if (doc.customerId && doc.invoiceId) { 
     emit(doc.customerId, doc.invoiceId); 
    } 
} 

Mais je veux ajouter une sorte de réduire la fonction qui peut me donner la somme totale des factures.

merci.

+0

Où est votre tentative? Quels problèmes avez-vous? – Flimzy

+0

Eh bien ma carte est la fonction (doc) {emit (ID_de_doc, {customerId: doc.customerId, invoiceId: doc.invoiceId})} - puis je tape dans mon navigateur http: // localhost: 5984/assignment/_design/view5320/_view/sumofinv? key = "l'identifiant du premier client" - et je ne reçois aucune ligne du tout. J'ai aussi ajouté le _sum dans ma fonction mapreduce. – jsvi

+0

Eh bien, j'ai résolu le problème, c'était juste un problème de changer la fonction de réduction _sum à _count, pour obtenir le montant total des factures. Donc, lors de la demande de la clé (customerId), j'obtiens le compte. – jsvi

Répondre

0

Eh bien, j'ai résolu le problème, c'était juste un problème de changer la fonction de réduction _sum à _count, pour obtenir le montant total des factures. Donc, lors de la demande de la clé (customerId), j'obtiens le compte.