我想在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鼓励编辑。 –