我有以下資料,我正在查詢:
[
{
"_id": 1,
"domainName": "test1.com",
"hosting": "hostgator.com",
"to": "nanjing",
"travelDate": "09/06/2022",
"trainNumber": 123
},
{
"_id": 2,
"domainName": "test2.com",
"hosting": "aws.amazon.com",
"to": "beijing",
"travelDate": "09/02/2022",
"trainNumber": 123
},
{
"_id": 3,
"domainName": "test3.com",
"hosting": "aws.amazon.com"
},
{
"_id": 4,
"domainName": "test4.com",
"hosting": "hostgator.com",
"to": "shanghai",
"travelDate": "09/06/2022",
"trainNumber": 1234
},
{
"_id": 5,
"domainName": "test5.com",
"hosting": "aws.amazon.com",
"to": "wuhan",
"travelDate": "09/06/2022",
"trainNumber": 1234
},
{
"_id": 6,
"domainName": "test6.com",
"hosting": "cloud.google.com",
"to": "nanjing",
"travelDate": "09/06/2022",
"trainNumber": 123
},
{
"_id": 7,
"domainName": "test7.com",
"hosting": "aws.amazon.com",
"to": "nanjing",
"travelDate": "09/02/2022",
"trainNumber": 123
},
{
"_id": 8,
"domainName": "test8.com",
"hosting": "hostgator.com",
"to": "nanjing",
"travelDate": "09/02/2022",
"trainNumber": 123
},
{
"_id": 9,
"domainName": "test9.com",
"hosting": "cloud.google.com",
"to": "nanjing",
"travelDate": "09/02/2022",
"trainNumber": 123
},
{
"_id": 10,
"domainName": "test10.com",
"hosting": "godaddy.com",
"to": "nanjing",
"travelDate": "09/02/2022",
"trainNumber": 123
}
]
我正在使用以下查詢將歸檔作為字串串列
db.collection.aggregate({
$match: {
travelDate: {
$eq: "09/06/2022"
},
trainNumber: {
$eq: 1234
}
}
},
{
$group: {
_id: "",
destStations: {
$push: "$to"
}
}
},
{
$project: {
_id: 0
}
})
上述查詢按預期回傳以下結果:
[
{
"destStations": [
"shanghai",
"wuhan"
]
}
]
但是當我嘗試使用以下 spring mongo 聚合對其進行轉換時,我無法獲得適當的結果。任何人都可以幫忙嗎?
Aggregation agg = newAggregation( match(Criteria.where("travelDate").is(travelDate).and("trainNumber").is(trainNumber)),
group("id").push("to").as("destStations"),
project().andExclude("id")
);
uj5u.com熱心網友回復:
您id在 spring mongo 聚合中按 , 分組,但在您的查詢中,您正在對""空字串進行分組。這就是為什么結果可能會有所不同。
嘗試不向group函式傳遞任何引數,如下所示:
Aggregation agg = newAggregation(match(Criteria.where("travelDate").is(travelDate).and("trainNumber").is(trainNumber)),
group().push("to").as("destStations"),
project().andExclude("id")
);
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/504151.html
標籤:mongodb 弹簧靴 spring-mongodb 春天-mongo
下一篇:將新專案推入陣列到mongo檔案
