ag-grid-mongo-query-builder
Advanced tools
Comparing version 0.3.5 to 0.3.6
{ | ||
"name": "ag-grid-mongo-query-builder", | ||
"version": "0.3.5", | ||
"version": "0.3.6", | ||
"description": "Utility to generate Mongo DB aggregation pipeline queries starting from AgGrid server side params", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
@@ -451,3 +451,3 @@ //const mongoose = require('mongoose'); | ||
console.log('Pivot cols:',pivotCols); | ||
let sameGroupAndAggCol = false; | ||
let sameGroupAndAggCol = []; | ||
@@ -492,3 +492,4 @@ const _matchQuery = groupKeys.length ? groupKeys.map((key, index) => { | ||
console.log('group query1:',JSON.stringify(constantGroupQuery)); | ||
const aggregationArray = buildAggregationQuery(valueCols, pivotMode); | ||
const pivotColsLength = pivotCols ? pivotCols.length : 0 | ||
const aggregationArray = buildAggregationQuery(valueCols, pivotColsLength); | ||
@@ -507,3 +508,3 @@ console.log('group query2:',JSON.stringify(aggregationArray)); | ||
if(valueCols.find(col => col.id && groupsCol.id && col.id === groupsCol.id)) { | ||
sameGroupAndAggCol = true; | ||
if(!sameGroupAndAggCol.includes(groupsCol.id)) sameGroupAndAggCol.push(groupsCol.id); | ||
} | ||
@@ -517,3 +518,3 @@ }); | ||
///add unique count fields | ||
if(!pivotMode && aggregationArray && aggregationArray.length > 0) { | ||
if(aggregationArray && aggregationArray.length > 0) { | ||
aggregationArray.map(aggre => { | ||
@@ -523,5 +524,5 @@ const aggKey = Object.keys(aggre); | ||
if(!groupKeys || groupKeys.length <= 0) { | ||
if(!sameGroupAndAggCol) { | ||
if(!sameGroupAndAggCol.includes(aggKey[0])) { | ||
addFieldObj[aggKey] = {"$size": `$${aggKey}`}; | ||
addFieldObj['childCount'] = {"$size": `$${aggKey}`}; | ||
} else { | ||
@@ -533,5 +534,4 @@ if(rowGroupCols && rowGroupCols.length > 1) { | ||
} else { | ||
if(!sameGroupAndAggCol) { | ||
if(!sameGroupAndAggCol.includes(aggKey[0])) { | ||
addFieldObj[aggKey] = {"$size": `$${aggKey}`}; | ||
addFieldObj['childCount'] = {"$size": `$${aggKey}`}; | ||
} else { | ||
@@ -568,3 +568,4 @@ addFieldObj[aggKey] = "$_id"; | ||
const _finalMatchQuery= _matchQuery.length > 1 ? [{"$match": {"$and" : _matchQuery}}] : [{"$match": _matchQuery[0]}]; | ||
const aggregationArray = buildAggregationQuery(valueCols, pivotMode); | ||
const pivotColsLength = pivotCols ? pivotCols.length : 0 | ||
const aggregationArray = buildAggregationQuery(valueCols, pivotColsLength); | ||
@@ -830,3 +831,3 @@ let tempGroup = null; | ||
function buildAggregationQuery(valueCols, pivotMode){ | ||
function buildAggregationQuery(valueCols, pivotColsLength){ | ||
if(!valueCols || valueCols== null || Object.keys(valueCols).length === 0) // if valuecols null or undefined.. just return empty array | ||
@@ -837,3 +838,3 @@ return []; | ||
if(Object.keys(aggFunction).includes('aggFunc') && aggFunction['aggFunc']){ | ||
return { [aggFunction.id]: aggregateQuery(aggFunction, pivotMode)}; | ||
return { [aggFunction.id]: aggregateQuery(aggFunction, pivotColsLength)}; | ||
} | ||
@@ -845,3 +846,3 @@ }); | ||
function aggregateQuery(aggFunction, pivotMode){ | ||
function aggregateQuery(aggFunction, pivotColsLength){ | ||
@@ -890,3 +891,3 @@ console.log('inside building aggregateQuery: ',aggFunction); | ||
case 'count' : return pivotMode ? {$sum : 1} : { $addToSet: "$"+aggFunction.id+""}; // counts each doc | ||
case 'count' : return pivotColsLength > 0 ? {$sum : 1} : { $addToSet: "$"+aggFunction.id+""}; // counts each doc | ||
} | ||
@@ -893,0 +894,0 @@ } |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
43498