Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
GÄLLER FÖR:
MongoDB vCore
Aggregeringssteget $group
grupperar dokument efter angivna identifieraruttryck och tillämpar ackumulatoruttryck för att skapa beräknade fält för varje grupp. Den här fasen är viktig för dataaggregerings- och sammanfattningsåtgärder.
Syntax
Syntaxen $group
för fasen är följande:
{
$group: {
_id: <expression>,
<field1>: { <accumulator1>: <expression1> },
<field2>: { <accumulator2>: <expression2> },
...
}
}
Parameterar
Beskrivning | |
---|---|
_id |
Obligatoriskt. Uttrycket som ska grupperas efter. Använd null för att beräkna ackumulerade värden för alla indatadokument. |
field |
Valfritt. Beräknas med hjälp av ackumulatoroperatoroperatorer som $sum, $avg, $max, $min, $count osv. |
Exempel
Exempel 1: Gruppera efter stad och analysera personaldistribution
Exemplet grupperar efter stad och analyserar bemanningsmönstren på olika platser.
db.stores.aggregate([
{
$group: {
_id: "$city",
totalFullTimeStaff: { $sum: "$staff.employeeCount.fullTime" },
totalPartTimeStaff: { $sum: "$staff.employeeCount.partTime" },
avgFullTimeStaff: { $avg: "$staff.employeeCount.fullTime" },
storesInCity: { $count: {} }
}
},
{
$project: {
city: "$_id",
totalFullTimeStaff: 1,
totalPartTimeStaff: 1,
avgFullTimeStaff: { $round: ["$avgFullTimeStaff", 1] },
storesInCity: 1,
fullTimeRatio: {
$round: [
{ $divide: ["$totalFullTimeStaff", { $add: ["$totalFullTimeStaff", "$totalPartTimeStaff"] }] },
2
]
}
}
},
{ $limit : 2}
])
Frågan returnerar personalanalys efter ortplats.
{
"_id": "New Ellsworth",
"totalFullTimeStaff": 11,
"totalPartTimeStaff": 1,
"avgFullTimeStaff": 11,
"storesInCity": 1,
"city": "New Ellsworth",
"fullTimeRatio": 0.92
},
{
"_id": "Jalonborough",
"totalFullTimeStaff": 4,
"totalPartTimeStaff": 1,
"avgFullTimeStaff": 4,
"storesInCity": 1,
"city": "Jalonborough",
"fullTimeRatio": 0.8
}
Relaterat innehåll
- Granska alternativ för migrering från MongoDB till Azure Cosmos DB för MongoDB (virtuell kärna)
- Läs mer om funktionskompatibilitet med MongoDB