@@ -616,10 +616,8 @@ public static PipelineStageDefinition<TInput, TOutput> Facet<TInput, TOutput>(
616
616
/// <returns>The stage.</returns>
617
617
internal static PipelineStageDefinition < TInput , TOutput > GeoNear < TInput , TPoint , TOutput > (
618
618
TPoint near ,
619
- GeoNearOptions < TInput > options = null ) where TPoint : class
619
+ GeoNearOptions < TInput > options = null )
620
620
{
621
- Ensure . IsNotNull ( near , nameof ( near ) ) ;
622
-
623
621
const string operatorName = "$geoNear" ;
624
622
var stage = new DelegatedPipelineStageDefinition < TInput , TOutput > (
625
623
operatorName ,
@@ -661,6 +659,7 @@ public static PipelineStageDefinition<TInput, TOutput> GeoNear<TInput, TCoordina
661
659
GeoNearOptions < TInput > options = null )
662
660
where TCoordinates : GeoJsonCoordinates
663
661
{
662
+ Ensure . IsNotNull ( near , nameof ( near ) ) ;
664
663
return GeoNear < TInput , GeoJsonPoint < TCoordinates > , TOutput > ( near , options ) ;
665
664
}
666
665
@@ -677,6 +676,7 @@ public static PipelineStageDefinition<TInput, TOutput> GeoNear<TInput, TCoordina
677
676
TCoordinates [ ] near ,
678
677
GeoNearOptions < TInput > options = null )
679
678
{
679
+ Ensure . IsNotNull ( near , nameof ( near ) ) ;
680
680
Ensure . That ( near . Length , len => len is >= 2 and <= 3 , nameof ( near ) , "Legacy coordinates array should have 2 or 3 coordinates." ) ;
681
681
return GeoNear < TInput , TCoordinates [ ] , TOutput > ( near , options ) ;
682
682
}
@@ -693,6 +693,7 @@ public static PipelineStageDefinition<TInput, TOutput> GeoNear<TInput, TOutput>(
693
693
BsonDocument near ,
694
694
GeoNearOptions < TInput > options = null )
695
695
{
696
+ Ensure . IsNotNull ( near , nameof ( near ) ) ;
696
697
Ensure . That ( near . ElementCount , len => len is >= 2 and <= 3 , nameof ( near ) , "Legacy coordinates document should have 2 or 3 coordinates." ) ;
697
698
return GeoNear < TInput , BsonDocument , TOutput > ( near , options ) ;
698
699
}
0 commit comments