I have Mongo query that I executed using NoSqlBooster(Tool) and getting expected out put. How can I convert same query in Java object.
This is Mongo Query :
db.revenue.aggregate([{
$match: {
hotelId: "122"
sessionId: "dgd"
}
}, {
$group: {
_id: {
date: "$date",
serviceOrFacilty: "$serviceOrFacilty"
},
"SUM(orderTotalAmount)":{
$sum: "$orderTotalAmount"
},
"SUM(grandTotalAmount)":{
$sum: "$grandTotalAmount"
},
}
}, {
$project: {
date: "$_id.date",
serviceOrFacilty: "$_id.serviceOrFacilty",
"SUM(orderTotalAmount)": "$SUM(orderTotalAmount)",
"SUM(grandTotalAmount)": "$SUM(grandTotalAmount)"
}
}])
And this is my entity/data base classs
public class RevenueReportsTemporaryStorage {
@Id
private String id;
@Field(value = FIELDS.SESSSION_ID)
private String sessionId;
@Field(value = FIELDS.HOTEL_ID)
private String hotelId;
@Field(value = FIELDS.DATE)
private String date;
@Field(value = FIELDS.SERVICE_OR_FACILITY)
private String serviceOrFacility;
@Field(value = FIELDS.CATEGORY)
private String serviceCategory;
@Field(value = FIELDS.USER_NAME)
private String userName
@Field(value = FIELDS.ORDER_TOTAL)
private Double orderTotalAmount;
@Field(value = FIELDS.ADJUSTMENT)
private Double adjustmentAmount;
@Field(value = FIELDS.DISCOUNT)
private Double discount;
@Field(value = FIELDS.TAX)
private Map<String, Double> taxAmountWithHead;
@Field(value = FIELDS.GRAND_TOTAL)
private Double grandTotalAmount;
}
By using fields, how can write the query.