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".
Vous pouvez utiliser un objet TMongoPipeline dans les scénarios suivants :
- Créé l'objet de pipeline explicitement et le soumet à 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.
Vous pouvez utiliser les méthodes suivantes pour définir les étapes du pipeline :
Vous pouvez également définir certaines options de votre pipeline.
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 selon le 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();