FireDAC.Phys.MongoDBWrapper.TMongoPipeline
Delphi
TMongoPipeline = class(TInterfacedObject, IMongoCursor)
C++
class PASCALIMPLEMENTATION TMongoPipeline : public System::TInterfacedObject
Propriétés
| Type | Visibilité | Source | Unité | Parent |
|---|---|---|---|---|
| class | public | FireDAC.Phys.MongoDBWrapper.pas FireDAC.Phys.MongoDBWrapper.hpp |
FireDAC.Phys.MongoDBWrapper | FireDAC.Phys.MongoDBWrapper |
Description
Représente un constructeur de pipeline MongoDB de style "fluent".
Les méthodes clés du constructeur, comme Project, Match ou Group, renvoient des sous-constructeurs pour les étapes de pipeline correspondantes.
Vous pouvez utiliser un objet TMongoPipeline dans les scénarios suivants :
- Créez l'objet pipeline explicitement et soumettez-le à la méthode TMongoCollection.Aggregate.
-
- Dans ce scénario, vous pouvez réutiliser l'objet pipeline.
- Obtenez l'objet pipeline à partir d'une méthode TMongoCollection.Aggregate surchargée, puis transtypez-la en IMongoCursor pour exécuter un pipeline et obtenir un curseur d'ensemble de résultats.
Exemples
Les extraits de code suivants illustrent de quelle manière transmettre une collection dans le pipeline d'agrégation (EN), puis comptent le nombre de documents pour chaque quartier ("borough"). La liste de sortie est triée en fonction du champ count.
Remarque : Pour de plus amples informations, voir le projet exemple MongoDB Restaurants.
Delphi :
var
oCrs: IMongoCursor;
oCrs := FCon['test']['restaurants'].Aggregate()
.Group
.Add('_id', '$borough')
.BeginObject('count')
.Add('$sum', 1)
.EndObject
.&End
.Sort('{ count: 1 }').&End;
C++Builder :
di_IMongoCursor oCrs = interface_cast<IMongoCursor>(MongoCon->Databases["test"]->Collections["restaurants"]->Aggregate())
->Group()
->Add("_id", "$borough")
->BeginObject("count")
->Add("$sum", 1)
->EndObject()
->End()
->Sort("{ count: 1 }")->End();