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.
Fasen $documents
för aggregeringspipeline används för att skapa en pipeline från en uppsättning angivna dokument. Det här steget är särskilt användbart när du vill bearbeta specifika dokument utan att köra frågor mot en samling.
Syntax
{
$documents: [
<document1>,
<document2>,
...
]
}
Parameterar
Parameter | Beskrivning |
---|---|
<document> |
Ett JSON-objekt som representerar ett dokument som ska inkluderas i pipelinen. |
Exempel
Exempel 1: Skapa en pipeline från specifika dokument
I följande exempel visas hur du använder $documents
fasen för att bearbeta en uppsättning fördefinierade dokument:
db.aggregate([
{
$documents: [
{
"_id": "7954bd5c-9ac2-4c10-bb7a-2b79bd0963c5",
"name": "Lakeshore Retail | Holiday Supply Hub - Marvinfort",
"location": {
"lat": 60.1441,
"lon": -141.5012
},
"sales": {
"fullSales": 3700
},
"tag": ["#ShopLocal", "#SeasonalSale"]
},
{
"_id": "7e53ca0f-6e24-4177-966c-fe62a11e9af5",
"name": "Contoso, Ltd. | Office Supply Deals - South Shana",
"location": {
"lat": 40.7128,
"lon": -74.0060
},
"sales": {
"fullSales": 5400
},
"tag": ["#TechDeals", "#FreeShipping"]
}
]
},
{
$project: {
_id: 1,
name: 1,
"location.lat": 1,
"location.lon": 1,
"sales.fullSales": 1,
tags: "$tag" // renames "tag" to "tags"
}
}
]);
Den här frågan returnerar följande dokument.
[
{
_id: '7954bd5c-9ac2-4c10-bb7a-2b79bd0963c5',
name: 'Lakeshore Retail | Holiday Supply Hub - Marvinfort',
location: { lat: 60.1441, lon: -141.5012 },
sales: { fullSales: 3700 },
tags: [ '#ShopLocal', '#SeasonalSale' ]
},
{
_id: '7e53ca0f-6e24-4177-966c-fe62a11e9af5',
name: 'Contoso, Ltd. | Office Supply Deals - South Shana',
location: { lat: 40.7128, lon: -74.006 },
sales: { fullSales: 5400 },
tags: [ '#TechDeals', '#FreeShipping' ]
}
]
Exempel 2: Kombinera $documents
med andra pipelinesteg
db.aggregate([
{
$documents: [
{
"_id": "7954bd5c-9ac2-4c10-bb7a-2b79bd0963c5",
"name": "Lakeshore Retail | Holiday Supply Hub - Marvinfort",
"location": {
"lat": 60.1441,
"lon": -141.5012
},
"sales": {
"fullSales": 3700
},
"tag": ["#ShopLocal", "#SeasonalSale"]
},
{
"_id": "7e53ca0f-6e24-4177-966c-fe62a11e9af5",
"name": "Contoso, Ltd. | Office Supply Deals - South Shana",
"location": {
"lat": 40.7128,
"lon": -74.0060
},
"sales": {
"fullSales": 5400
},
"tag": ["#TechDeals", "#FreeShipping"]
}
]
},
{
$match: { "sales.fullSales": { $gt: 4000 } }
},
{
$sort: { "sales.fullSales": -1 }
}
]);
Den här frågan returnerar följande dokument.
[
{
_id: '7e53ca0f-6e24-4177-966c-fe62a11e9af5',
name: 'Contoso, Ltd. | Office Supply Deals - South Shana',
location: { lat: 40.7128, lon: -74.006 },
sales: { fullSales: 5400 },
tag: [ '#TechDeals', '#FreeShipping' ]
}
]
Begränsningar
- Den $documents fasen stöds endast i sammansättningspipelines på databasnivå. Det måste vara det första steget i pipelinen för att fungera korrekt.
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