PouchDB - Карта / Уменьшить similer для SQL группы по? - PullRequest
0 голосов
/ 14 мая 2019

Рассмотрим следующие примеры документов, хранящихся в pouchdb.

{
  "_id": "milk-20190509T010751.826-1",
  "animal": "B",
  "shift": "M",
  "ltr": 5,
  "code": 1,
  "custName": "Balvant Jat",
  "type": "milk",
  "netAmt": 200,
  "billName": "1951",
}

{
  "_id": "milk-20190509T010751.827-1",
  "animal": "B",
  "shift": "M",
  "ltr": 6,
  "code": 1,
  "custName": "Balvant Jat",
  "type": "milk",
  "netAmt": 150,
  "billName": "1951",
}

{
  "_id": "milk-20190509T010751.828-2",
  "animal": "B",
  "shift": "M",
  "ltr": 6,
  "code": 2,
  "custName": "Ashvin Jat",
  "type": "milk",
  "netAmt": 500,
  "billName": "1951",
}

Я пробовал использовать функцию map / уменьшает и также использовал опцию group:true, но не смог получить ожидаемый результат.Я попытался использовать функцию отображения, как показано ниже

mapFunc = (doc) => {
   if(doc.type === 'milk'){
   emit(doc.billName,{code:doc.code,name:doc.name,ltr:doc.ltr,amount:doc.netAmt})
   }
}

, но понятия не имел о функции сокращения, в которой я остановился.

Я хочу получить документ, как показано ниже.

{
  "code": 1,
  "custName": "Balvant Jat",
  "totalLtr": 11 
  "totalNetAmt": 350,
}

{
  "code": 2,
  "custName": "Ashvin Jat",
  "totalLtr": 6
  "totalNetAmt": 500,
}
...