public AstFieldOperationFilter Update(AstFilterField field, AstFilterOperation operation) { if (field == _field && operation == _operation) { return(this); } return(new AstFieldOperationFilter(field, operation)); }
public AstFieldOperationFilter(AstFilterField field, AstFilterOperation operation) { _field = Ensure.IsNotNull(field, nameof(field)); _operation = Ensure.IsNotNull(operation, nameof(operation)); if (operation.NodeType == AstNodeType.RegexFilterOperation && field.Serializer is IRepresentationConfigurable representationConfigurable && representationConfigurable.Representation != BsonType.String) { // normally an ExpressionNotSupported should have been thrown before reaching here throw new ArgumentException($"Field must be represented as a string for regex filter operations: {field.Path}", nameof(field)); } }
public static AstFieldOperationFilter Eq(AstFilterField field, BsonValue value) { return(new AstFieldOperationFilter(field, new AstComparisonFilterOperation(AstComparisonFilterOperator.Eq, value))); }
public static AstFieldOperationFilter ElemMatch(AstFilterField field, AstFilter filter) { return(new AstFieldOperationFilter(field, new AstElemMatchFilterOperation(filter))); }
public static AstFieldOperationFilter Compare(AstFilterField field, AstComparisonFilterOperator comparisonOperator, BsonValue value) { return(new AstFieldOperationFilter(field, new AstComparisonFilterOperation(comparisonOperator, value))); }
public static AstFieldOperationFilter BitsAnySet(AstFilterField field, BsonValue bitMask) { return(new AstFieldOperationFilter(field, new AstBitsAnySetFilterOperation(bitMask))); }
// public static methods public static AstFilter All(AstFilterField field, IEnumerable <BsonValue> values) { return(new AstFieldOperationFilter(field, new AstAllFilterOperation(values))); }
public static AstFieldOperationFilter Size(AstFilterField field, BsonValue size) { return(new AstFieldOperationFilter(field, new AstSizeFilterOperation(size))); }
public static AstFieldOperationFilter Regex(AstFilterField field, string pattern, string options) { return(new AstFieldOperationFilter(field, new AstRegexFilterOperation(pattern, options))); }
public static AstFieldOperationFilter Mod(AstFilterField field, BsonValue divisor, BsonValue remainder) { return(new AstFieldOperationFilter(field, new AstModFilterOperation(divisor, remainder))); }
public AstFieldOperationFilter(AstFilterField field, AstFilterOperation operation) { _field = Ensure.IsNotNull(field, nameof(field)); _operation = Ensure.IsNotNull(operation, nameof(operation)); }