PipelineDefinitionBuilderLookupTInput, TIntermediate, TForeignDocument, TAsElement, TAs, TOutput Method (PipelineDefinitionTInput, TIntermediate, IMongoCollectionTForeignDocument, BsonDocument, PipelineDefinitionTForeignDocument, TAsElement, ExpressionFuncTOutput, TAs, AggregateLookupOptionsTForeignDocument, TOutput) |
Appends a $lookup stage to the pipeline.
Namespace:
MongoDB.Driver
Assembly:
MongoDB.Driver (in MongoDB.Driver.dll) Version: 2.21.0+5a9c3311e158910b88195f290e6d4b1b2715d2b2
Syntax public static PipelineDefinition<TInput, TOutput> Lookup<TInput, TIntermediate, TForeignDocument, TAsElement, TAs, TOutput>(
this PipelineDefinition<TInput, TIntermediate> pipeline,
IMongoCollection<TForeignDocument> foreignCollection,
BsonDocument let,
PipelineDefinition<TForeignDocument, TAsElement> lookupPipeline,
Expression<Func<TOutput, TAs>> as,
AggregateLookupOptions<TForeignDocument, TOutput> options = null
)
where TAs : Object, IEnumerable<TAsElement>
<ExtensionAttribute>
Public Shared Function Lookup(Of TInput, TIntermediate, TForeignDocument, TAsElement, TAs As {Object, IEnumerable(Of TAsElement)}, TOutput) (
pipeline As PipelineDefinition(Of TInput, TIntermediate),
foreignCollection As IMongoCollection(Of TForeignDocument),
let As BsonDocument,
lookupPipeline As PipelineDefinition(Of TForeignDocument, TAsElement),
as As Expression(Of Func(Of TOutput, TAs)),
Optional options As AggregateLookupOptions(Of TForeignDocument, TOutput) = Nothing
) As PipelineDefinition(Of TInput, TOutput)
[<ExtensionAttribute>]
static member Lookup :
pipeline : PipelineDefinition<'TInput, 'TIntermediate> *
foreignCollection : IMongoCollection<'TForeignDocument> *
let : BsonDocument *
lookupPipeline : PipelineDefinition<'TForeignDocument, 'TAsElement> *
as : Expression<Func<'TOutput, 'TAs>> *
?options : AggregateLookupOptions<'TForeignDocument, 'TOutput>
(* Defaults:
let _options = defaultArg options null
*)
-> PipelineDefinition<'TInput, 'TOutput> when 'TAs : Object and IEnumerable<'TAsElement>
Parameters
- pipeline
- Type: MongoDB.DriverPipelineDefinitionTInput, TIntermediate
The pipeline. - foreignCollection
- Type: MongoDB.DriverIMongoCollectionTForeignDocument
The foreign collection. - let
- Type: MongoDB.BsonBsonDocument
The "let" definition. - lookupPipeline
- Type: MongoDB.DriverPipelineDefinitionTForeignDocument, TAsElement
The lookup pipeline. - as
- Type: System.Linq.ExpressionsExpressionFuncTOutput, TAs
The as field in TOutput in which to place the results of the lookup pipeline. - options (Optional)
- Type: MongoDB.DriverAggregateLookupOptionsTForeignDocument, TOutput
The options.
Type Parameters
- TInput
- The type of the input documents.
- TIntermediate
- The type of the intermediate documents.
- TForeignDocument
- The type of the foreign collection documents.
- TAsElement
- The type of the as field elements.
- TAs
- The type of the as field.
- TOutput
- The type of the output documents.
Return Value
Type:
PipelineDefinitionTInput,
TOutputThe stage.
Usage Note
In Visual Basic and C#, you can call this method as an instance method on any object of type
PipelineDefinitionTInput,
TIntermediate. When you use instance method syntax to call this method, omit the first parameter. For more information, see
Extension Methods (Visual Basic) or
Extension Methods (C# Programming Guide).
See Also