1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- ////////////////////////////////////////////////////////////////////////////
- //
- // Copyright 2020 Realm 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.
- //
- ////////////////////////////////////////////////////////////////////////////
- #import <Realm/RLMConstants.h>
- RLM_HEADER_AUDIT_BEGIN(nullability, sendability)
- @protocol RLMBSON;
- /// Options to use when executing a `find` command on a `RLMMongoCollection`.
- @interface RLMFindOptions : NSObject
- /// The maximum number of documents to return. Specifying 0 will return all documents.
- @property (nonatomic) NSInteger limit;
- /// Limits the fields to return for all matching documents.
- @property (nonatomic, nullable) id<RLMBSON> projection NS_REFINED_FOR_SWIFT;
- /// The order in which to return matching documents.
- @property (nonatomic, nullable) id<RLMBSON> sort NS_REFINED_FOR_SWIFT
- __attribute__((deprecated("Use `sorting` instead, which correctly sort more than one sort attribute", "sorting")));
- /// The order in which to return matching documents.
- @property (nonatomic) NSArray<id<RLMBSON>> *sorting NS_REFINED_FOR_SWIFT;
- /// Options to use when executing a `find` command on a `RLMMongoCollection`.
- /// @param limit The maximum number of documents to return. Specifying 0 will return all documents.
- /// @param projection Limits the fields to return for all matching documents.
- /// @param sort The order in which to return matching documents.
- - (instancetype)initWithLimit:(NSInteger)limit
- projection:(id<RLMBSON> _Nullable)projection
- sort:(id<RLMBSON> _Nullable)sort
- __attribute__((deprecated("Please use `initWithLimit:projection:sorting:`")))
- NS_SWIFT_UNAVAILABLE("Please see FindOption");
- /// Options to use when executing a `find` command on a `RLMMongoCollection`.
- /// @param projection Limits the fields to return for all matching documents.
- /// @param sort The order in which to return matching documents.
- - (instancetype)initWithProjection:(id<RLMBSON> _Nullable)projection
- sort:(id<RLMBSON> _Nullable)sort __deprecated
- __attribute__((deprecated("Please use `initWithProjection:sorting:`")))
- NS_SWIFT_UNAVAILABLE("Please see FindOption");
- /// Options to use when executing a `find` command on a `RLMMongoCollection`.
- /// @param limit The maximum number of documents to return. Specifying 0 will return all documents.
- /// @param projection Limits the fields to return for all matching documents.
- /// @param sorting The order in which to return matching documents.
- - (instancetype)initWithLimit:(NSInteger)limit
- projection:(id<RLMBSON> _Nullable)projection
- sorting:(NSArray<id<RLMBSON>> *)sorting;
- /// Options to use when executing a `find` command on a `RLMMongoCollection`.
- /// @param projection Limits the fields to return for all matching documents.
- /// @param sorting The order in which to return matching documents.
- - (instancetype)initWithProjection:(id<RLMBSON> _Nullable)projection
- sorting:(NSArray<id<RLMBSON>> *)sorting;
- @end
- RLM_HEADER_AUDIT_END(nullability, sendability)
|