/* Copyright 2016-present MongoDB Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ using MongoDB.Bson.Serialization.Attributes; namespace MongoDB.Driver { /// /// Represents the result of the $bucketAuto stage. /// /// The type of the value. public class AggregateBucketAutoResult { // constructors /// /// Initializes a new instance of the class. /// /// The inclusive lower boundary of the bucket. /// The count. public AggregateBucketAutoResult(AggregateBucketAutoResultId id, long count) { Id = id; Count = count; } /// /// Initializes a new instance of the class. /// /// The minimum. /// The maximum. /// The count. public AggregateBucketAutoResult(TValue min, TValue max, long count) { Id = new AggregateBucketAutoResultId(min, max); Count = count; } // public properties /// /// Gets the inclusive lower boundary of the bucket. /// /// /// The inclusive lower boundary of the bucket. /// [BsonId] public AggregateBucketAutoResultId Id { get; private set; } /// /// Gets the count. /// /// /// The count. /// [BsonElement("count")] public long Count { get; private set; } /// /// Gets the maximum. /// public TValue Max => Id.Max; /// /// Gets the minimum. /// public TValue Min => Id.Min; } }