-3
我試圖在java中轉換mongo查詢,但java代碼無法正常工作,這將在組colums中給出空值。以上mongo查詢在shell中工作正常,如何使用灌溉在java代碼中進行轉換。mongodb聚合組適用於java中的多個colums
蒙戈查詢: -
db.journalEntryRevised.aggregate(
{
$group : {
_id : {nameOfGLAccount:"$nameOfGLAccount",transactionType:"$transactionType"},
calculatedBaseCurrencyAmount: { $sum:"$calculatedBaseCurrencyAmount" },
}
}
Java代碼: - 在彈簧蒙戈分貝
Aggregation aggregationOpningDrAccount = newAggregation(
match(Criteria.where("enterpriseId").is(clientUser.getEnterpriseId())),
match(Criteria.where("jedate").lt(startDate)),
match(Criteria.where("fund").is(fund)),
match(Criteria.where("transactionType").is("DR")),
group("nameOfGLAccount").sum("calculatedBaseCurrencyAmount").as("calculatedBaseCurrencyAmount").first("transactionType").as("transactionType"));
AggregationResults openingDrAccountResult = mongoTemplate.aggregate(aggregationOpningDrAccount,"journalEntryRevised", TrialBalance.class);
List <TrialBalance>openBalanceDrAccount=openingDrAccountResult.getMappedResults();
你試過沒有比賽階段?看看它是否工作 – Veeram
是它給輸出: - [ { 「ID」:無效, 「calculatedBaseCurrencyAmount」:9561 }, { 「ID」:無效, 「calculatedBaseCurrencyAmount」:9571444 }, { 「ID」:空, 「calculatedBaseCurrencyAmount」:1000 }, { 「ID」:空, 「calculatedBaseCurrencyAmount」:1000 } –
預期輸出: - { 「_id」:{ 「nameOfGLAccount」: 「897佣金費用」, 「TRANSACTIONTYPE」: 「CR」 }, 「calculatedBaseCurrencyAmount」:9561.0 } /* 2 */ { 「_id」:{ 「nameOfGLAccount」: 「789-由於向/從經紀人」, 「TRANSACTIONTYPE」: 「DR」 }, 「calculatedBaseCurrencyAmount」:9571444.0 } /* 3 */ { 「_id」:{ 「nameOfGLAccount」: 「321-證券投資,(收費)」 , 「transactionType」:「CR」 }, 「calculatedBas eCurrencyAmount「:1000.0 } –