我想在java中使用Spring mongo實現MongoDB查詢。
這是本地的MongoDB查詢:
db.ShieldReport.aggregate([
{$match:{"sellerCode":"e1aaf3"}},
{$project:{bucketName:"$bucketName", brandName: "$brandName", createdTime : "$createdTime", sellerCode : "$sellerCode"}},
{$sort:{"createdTime":-1}},
{$group:
{
_id: { sellerCode: "$sellerCode", bucketName: "$bucketName", brandName: "$brandName"},
itemsSold: { $first: { bucketName: "$bucketName", brandName: "$brandName", createdTime : "$createdTime"} }
}
},
{$sort:{"itemsSold.createdTime":-1}},
{$project : { _id : "$_id.sellerCode", bucketName :"$itemsSold.bucketName", brandName : "$itemsSold.brandName"}}
])
在我的Spring Java版本,我有這麼遠:
Aggregation agg = newAggregation(
match(Criteria.where("sellerCode").is(filterRequest.getSellerCode())),
Aggregation.project("bucketName")
.andInclude("brandName")
.andInclude("createdTime")
.andInclude("sellerCode"),
sort(Sort.Direction.DESC, "createdTime"),
group("sellerCode", "brandName", "bucketName")
);
但問題是我不能夠創建itemSold
領域。我如何創建?
我嘗試使用 聚合AGG = newAggregation(匹配(Criteria.where( 「sellerCode」)。爲(filterRequest.getSellerCode())), Aggregation.project( 「bucketName」)。andInclude( 「名優產品」)。和「包含」(「createdTime」)和包括(「sellerCode」), sort(Sort.Direction.DESC,「createdTime」), group(「sellerCode」,「brandName」,「bucketName」)) 但問題是我無法創建itemSold字段。我如何創建? – Nayanava
我已將您的問題進行了一些調整,使其更易於理解。我在頂部說明了主要問題,爲json查詢和java代碼添加了語法提示,並且還做了其他一些重新修改。如果你有進一步的澄清,你可以添加,請[編輯]的問題,以進一步改善; Stack Overflow鼓勵編輯。 –