Example #1
0
        public override BsonValue Render()
        {
            var args =
                _position == null ?
                new BsonArray {
                _array.Render(), _n.Render()
            } :
            new BsonArray {
                _array.Render(), _position.Render(), _n.Render()
            };

            return(new BsonDocument("$slice", args));
        }
 private BsonValue RenderArgs()
 {
     if (_timezone == null)
     {
         return(_date.Render());
     }
     else
     {
         return(new BsonDocument
         {
             { "date", _date.Render() },
             { "timezone", _timezone.Render() }
         });
     }
 }
 public override BsonValue Render()
 {
     return(new BsonDocument
     {
         { _operator.Render(), _arg.Render() },
         { "window", _window?.Render(), _window != null }
     });
 }
Example #4
0
 public override BsonValue Render()
 {
     return(new BsonDocument
     {
         { "$switch", new BsonDocument
           {
               { "branches", new BsonArray(_branches.Select(b => b.Render())) },
               { "default", () => _default.Render(), _default != null }
           } }
     });
 }
Example #5
0
 public override BsonValue Render()
 {
     return(new BsonDocument
     {
         { "$rtrim", new BsonDocument
           {
               { "input", _input.Render() },
               { "chars", () => _chars.Render(), _chars != null }
           } }
     });
 }
Example #6
0
 public override BsonValue Render()
 {
     return(new BsonDocument
     {
         { "$let", new BsonDocument
           {
               { "vars", new BsonDocument(_vars.Select(v => v.RenderAsElement())) },
               { "in", _in.Render() }
           } }
     });
 }
Example #7
0
 public override BsonValue Render()
 {
     return(new BsonDocument
     {
         { "$map", new BsonDocument
           {
               { "input", _input.Render() },
               { "as", _as.Name, _as != null },
               { "in", _in.Render() }
           } }
     });
 }
        private BsonValue RenderArg()
        {
            var rendered = _arg.Render();

            if (rendered.IsBsonArray)
            {
                rendered = new BsonArray {
                    rendered
                };
            }
            return(rendered);
        }
Example #9
0
 public override BsonValue Render()
 {
     return(new BsonDocument
     {
         { _operator.Render(), new BsonDocument
           {
               { "input", _input.Render() },
               { "regex", _regex.Render() },
               { "options", () => _options.Render(), _options != null }
           } }
     });
 }
Example #10
0
 public override BsonValue Render()
 {
     return(new BsonDocument
     {
         { _operator.Render(), new BsonDocument
           {
               { "input", _arg.Render() },
               { "unit", () => _unit.Value.Render(), _unit.HasValue }
           } },
         { "window", _window?.Render(), _window != null }
     });
 }
 public override BsonValue Render()
 {
     return(new BsonDocument
     {
         { "$filter", new BsonDocument
           {
               { "input", _input.Render() },
               { "as", _as, _as != null },
               { "cond", _cond.Render() }
           } }
     });
 }
Example #12
0
 public override BsonValue Render()
 {
     return(new BsonDocument
     {
         { "$dateToParts", new BsonDocument
           {
               { "date", _expression.Render() },
               { "timezone", () => _timezone.Render(), _timezone != null },
               { "iso8601", () => _iso8601.Render(), _iso8601 != null }
           } }
     });
 }
Example #13
0
 public override BsonValue Render()
 {
     return(new BsonDocument
     {
         { "$reduce", new BsonDocument
           {
               { "input", _input.Render() },
               { "initialValue", _initialValue.Render() },
               { "in", _in.Render() }
           } }
     });
 }
 public override BsonValue Render()
 {
     return(new BsonDocument
     {
         { "$cond", new BsonDocument
           {
               { "if", _if.Render() },
               { "then", _then.Render() },
               { "else", _else.Render() }
           } }
     });
 }
 public override BsonValue Render()
 {
     return(new BsonDocument
     {
         { "$shift", new BsonDocument
           {
               { "output", _arg.Render() },
               { "by", _by },
               { "default", _defaultValue?.Render(), _defaultValue != null }
           } }
     });
 }
Example #16
0
 public override BsonValue Render()
 {
     return(new BsonDocument
     {
         { "$replaceAll", new BsonDocument
           {
               { "input", _input.Render() },
               { "find", _find.Render() },
               { "replacement", _replacement.Render() }
           } }
     });
 }
Example #17
0
 public override BsonValue Render()
 {
     return(new BsonDocument
     {
         { "$zip", new BsonDocument
           {
               { "inputs", new BsonArray(_inputs.Select(i => i.Render())) },
               { "useLongestLength", () => _useLongestLength.Value, _useLongestLength.HasValue },
               { "defaults", () => _defaults.Render(), _defaults != null }
           } }
     });
 }
 public override BsonValue Render()
 {
     return(new BsonDocument
     {
         { "$convert", new BsonDocument
           {
               { "input", _input.Render() },
               { "to", _to.Render() },
               { "onError", () => _onError.Render(), _onError != null },
               { "onNull", () => _onNull.Render(), _onNull != null }
           } }
     });
 }
 public override BsonValue Render()
 {
     return(new BsonDocument
     {
         { "$expMovingAvg", new BsonDocument
           {
               { "input", _arg.Render() },
               { "N", () => ((ExponentialMovingAveragePositionalWeighting)_weighting).N, _weighting is ExponentialMovingAveragePositionalWeighting },
               { "alpha", () => ((ExponentialMovingAverageAlphaWeighting)_weighting).Alpha, _weighting is ExponentialMovingAverageAlphaWeighting },
           } },
         { "window", _window?.Render(), _window != null }
     });
 }
 public override BsonValue Render()
 {
     return(new BsonDocument
     {
         { "$dateAdd", new BsonDocument
           {
               { "startDate", _startDate.Render() },
               { "unit", _unit.Render() },
               { "amount", _amount.Render() },
               { "timezone", () => _timezone.Render(), _timezone != null }
           } }
     });
 }
Example #21
0
 public override BsonValue Render()
 {
     return(new BsonDocument
     {
         { "$dateToString", new BsonDocument
           {
               { "date", _date.Render() },
               { "format", () => _format.Render(), _format != null },
               { "timezone", () => _timezone.Render(), _timezone != null },
               { "onNull", () => _onNull.Render(), _onNull != null }
           } }
     });
 }
        public override BsonValue Render()
        {
            var args = new BsonArray {
                _start.Render(), _end.Render()
            };

            if (_step != null)
            {
                args.Add(_step.Render());
            }

            return(new BsonDocument("$range", args));
        }
 public override BsonValue Render()
 {
     return(new BsonDocument
     {
         { "$dateTrunc", new BsonDocument
           {
               { "date", _date.Render() },
               { "unit", _unit.Render() },
               { "binSize", () => _binSize.Render(), _binSize != null },
               { "timezone", () => _timezone.Render(), _timezone != null },
               { "startOfWeek", () => _startOfWeek.Render(), _startOfWeek != null }
           } }
     });
 }
 public override BsonValue Render()
 {
     return(new BsonDocument
     {
         { "$dateDiff", new BsonDocument
           {
               { "startDate", _startDate.Render() },
               { "endDate", _endDate.Render() },
               { "unit", _unit.Render() },
               { "timezone", () => _timezone.Render(), _timezone != null },
               { "startOfWeek", () => _startOfWeek.Render(), _startOfWeek != null }
           } }
     });
 }
Example #25
0
 public override BsonValue Render()
 {
     return(new BsonDocument
     {
         { "$dateFromParts", new BsonDocument
           {
               { "year", _year.Render() },
               { "month", () => _month.Render(), _month != null },
               { "day", () => _day.Render(), _day != null },
               { "hour", () => _hour.Render(), _hour != null },
               { "minute", () => _minute.Render(), _minute != null },
               { "second", () => _second.Render(), _second != null },
               { "millisecond", () => _millisecond.Render(), _millisecond != null },
               { "timezone", () => _timezone.Render(), _timezone != null }
           } }
     });
 }
        public override BsonValue Render()
        {
            var args = new BsonArray {
                _string.Render(), _value.Render()
            };

            if (_start != null)
            {
                args.Add(_start.Render());
                if (_end != null)
                {
                    args.Add(_end.Render());
                }
            }

            return(new BsonDocument("$indexOfBytes", args));
        }
Example #27
0
 public override BsonValue Render()
 {
     return(new BsonDocument
     {
         { "$dateFromParts", new BsonDocument
           {
               { "isoWeekYear", _isoWeekYear.Render() },
               { "isoWeek", () => _isoWeek.Render(), _isoWeek != null },
               { "isoDayOfWeek", () => _isoDayOfWeek.Render(), _isoDayOfWeek != null },
               { "hour", () => _hour.Render(), _hour != null },
               { "minute", () => _minute.Render(), _minute != null },
               { "second", () => _second.Render(), _second != null },
               { "millisecond", () => _millisecond.Render(), _millisecond != null },
               { "timezone", () => _timezone.Render(), _timezone != null }
           } }
     });
 }
 public override BsonValue Render()
 {
     return(new BsonDocument("$getField", new BsonDocument {
         { "field", _fieldName.Render() }, { "input", _input.Render() }
     }));
 }
Example #29
0
 public override BsonValue Render()
 {
     return(new BsonDocument {
         { "case", _case.Render() }, { "then", _then.Render() }
     });
 }
Example #30
0
 public override BsonValue Render()
 {
     return(new BsonDocument(_operator.Render(), new BsonArray {
         _arg1.Render(), _arg2.Render()
     }));
 }