RLM Mongo 컬렉션

Objective-C


@interface RLMMongoCollection : NSObject

Swift

@_nonSendable(_assumed) class RLMMongoCollection : NSObject, @unchecked Sendable

RLMMongoCollection 은(는) MongoDB collection을 나타냅니다.

RLMMongoDatabase 에서 인스턴스를 가져올 수 있습니다.

생성, 읽기, 업데이트 및 삭제 메서드를 사용할 수 있습니다.

Realm Cloud 서버에 대한 작업은 비동기적으로 수행됩니다.

참고

데이터를 읽거나 쓰려면 먼저 사용자가 로그인해야 합니다.
  • 사용법: RLMMongoClient *client = [self.app mongoClient:@"MongoDB1"]; RLMMongoDatabase *database = [client databaseWithName:@"test_data"]; RLMMongoCollection *collection = [database collectionWithName:@"Dog"]; [collection insertOneDocument:@{@"name": @"fido", @"breed": @"cane corso"} 완료:...];

다음의 사항도 참조하세요.

RLMMongoClient, RLMMongoDatabase

  • 이 MongoDB 컬렉션의 이름입니다.

    선언

    Objective-C

    @property (nonatomic, readonly) NSString *_Nonnull name;

    Swift

    var name: String { get }
  • 제공된 값을 BSON에 인코딩하고 삽입합니다. 값에 식별자가 누락된 경우 식별자가 생성됩니다.

    선언

    Objective-C

    - (void)insertOneDocument:
                (nonnull NSDictionary<NSString *, id<RLMBSON>> *)document
                   completion:(nonnull RLMMongoInsertBlock)completion;

    매개변수

    document

    삽입할 Document 값입니다.

    completion

    삽입을 시도한 결과입니다. 성공하면 삽입된 객체에 대한 ID가 반환됩니다.

  • 제공된 값을 BSON에 인코딩하고 삽입합니다. 식별자가 누락된 값이 있으면 생성됩니다.

    선언

    Objective-C

    - (void)insertManyDocuments:
                (nonnull NSArray<NSDictionary<NSString *, id<RLMBSON>> *> *)
                    documents
                     completion:(nonnull RLMMongoInsertManyBlock)completion;

    매개변수

    documents

    삽입할 bson 배열의 Document 값입니다.

    completion

    삽입 결과로, 문서 ID가 순서대로 삽입된 배열 을 반환합니다.

  • 이 collection에서 제공된 필터와 일치하는 문서를 찾습니다.

    선언

    Objective-C

    - (void)findWhere:
                (nonnull NSDictionary<NSString *, id<RLMBSON>> *)filterDocument
              options:(nonnull RLMFindOptions *)options
           completion:(nonnull RLMMongoFindBlock)completion;

    매개변수

    filterDocument

    쿼리와 일치해야 하는 Document as bson입니다.

    options

    RLMFindOptions 명령을 실행할 때 사용합니다.

    completion

    문서 또는 오류의 결과 bson 배열(발생한 경우)

  • 이 collection에서 제공된 필터와 일치하는 문서를 찾습니다.

    선언

    Objective-C

    - (void)findWhere:
                (nonnull NSDictionary<NSString *, id<RLMBSON>> *)filterDocument
           completion:(nonnull RLMMongoFindBlock)completion;

    매개변수

    filterDocument

    쿼리와 일치해야 하는 Document as bson입니다.

    completion

    결과 BSON 배열을 string 또는 오류(발생 시 오류)로 표시합니다.

  • 컬렉션 또는 보기에서 제공된 필터와 일치하는 문서 하나를 반환합니다. 여러 문서가 쿼리를 충족하는 경우, 이 메서드는 쿼리의 정렬 순서 또는 기본 순서에 따라 첫 번째 문서를 반환합니다.

    선언

    Objective-C

    - (void)findOneDocumentWhere:
                (nonnull NSDictionary<NSString *, id<RLMBSON>> *)filterDocument
                         options:(nonnull RLMFindOptions *)options
                      completion:(nonnull RLMMongoFindOneBlock)completion;

    매개변수

    filterDocument

    쿼리와 일치해야 하는 Document as bson입니다.

    options

    RLMFindOptions 명령을 실행할 때 사용합니다.

    completion

    결과 bson 또는 오류(발생한 경우)

  • 컬렉션 또는 보기에서 제공된 필터와 일치하는 문서 하나를 반환합니다. 여러 문서가 쿼리를 충족하는 경우, 이 메서드는 쿼리의 정렬 순서 또는 기본 순서에 따라 첫 번째 문서를 반환합니다.

    선언

    Objective-C

    - (void)findOneDocumentWhere:
                (nonnull NSDictionary<NSString *, id<RLMBSON>> *)filterDocument
                      completion:(nonnull RLMMongoFindOneBlock)completion;

    매개변수

    filterDocument

    쿼리와 일치해야 하는 Document as bson입니다.

    completion

    결과 bson 또는 오류(발생한 경우)

  • 이 collection에 대해 집계 프레임워크 파이프라인을 실행합니다.

    선언

    Objective-C

    - (void)aggregateWithPipeline:
                (nonnull NSArray<NSDictionary<NSString *, id<RLMBSON>> *> *)pipeline
                       completion:(nonnull RLMMongoFindBlock)completion;

    매개변수

    pipeline

    수행할 애그리게이션 작업의 파이프라인을 포함하는 Documents 으)로 구성된 bson 배열입니다.

    completion

    문서 또는 오류의 결과 bson 배열(발생한 경우)

  • 이 collection에서 제공된 필터와 일치하는 문서 수를 계산합니다.

    선언

    Objective-C

    - (void)countWhere:
                (nonnull NSDictionary<NSString *, id<RLMBSON>> *)filterDocument
                 limit:(NSInteger)limit
            completion:(nonnull RLMMongoCountBlock)completion;

    매개변수

    filterDocument

    쿼리와 일치해야 하는 Document as bson입니다.

    limit

    계산할 문서의 최대 개수

    completion

    필터와 일치하는 문서 수를 반환합니다.

  • 이 collection에서 제공된 필터와 일치하는 문서 수를 계산합니다.

    선언

    Objective-C

    - (void)countWhere:
                (nonnull NSDictionary<NSString *, id<RLMBSON>> *)filterDocument
            completion:(nonnull RLMMongoCountBlock)completion;

    매개변수

    filterDocument

    쿼리와 일치해야 하는 Document as bson입니다.

    completion

    필터와 일치하는 문서 수를 반환합니다.

  • collection에서 일치하는 단일 문서를 삭제합니다.

    선언

    Objective-C

    - (void)deleteOneDocumentWhere:
                (nonnull NSDictionary<NSString *, id<RLMBSON>> *)filterDocument
                        completion:(nonnull RLMMongoCountBlock)completion;

    매개변수

    filterDocument

    쿼리와 일치해야 하는 Document as bson입니다.

    completion

    삭제를 수행한 결과입니다. 삭제된 객체 수를 반환합니다.

  • 여러 문서 삭제

    선언

    Objective-C

    - (void)deleteManyDocumentsWhere:
                (nonnull NSDictionary<NSString *, id<RLMBSON>> *)filterDocument
                          completion:(nonnull RLMMongoCountBlock)completion;

    매개변수

    filterDocument

    일치 기준을 나타내는 문서

    completion

    삭제를 수행한 결과입니다. 삭제 횟수를 반환합니다.

  • 이 collection에 제공된 필터와 일치하는 단일 문서를 업데이트합니다.

    선언

    Objective-C

    - (void)updateOneDocumentWhere:
                (nonnull NSDictionary<NSString *, id<RLMBSON>> *)filterDocument
                    updateDocument:(nonnull NSDictionary<NSString *, id<RLMBSON>> *)
                                       updateDocument
                            upsert:(BOOL)upsert
                        completion:(nonnull RLMMongoUpdateBlock)completion;

    매개변수

    filterDocument

    일치 기준을 나타내는 bson Document 입니다.

    updateDocument

    일치하는 문서에 적용될 업데이트를 나타내는 bson Document 입니다.

    upsert

    true이면 쿼리와 일치하는 문서가 없는 경우 새 문서를 만듭니다.

    completion

    문서 업데이트 시도의 결과입니다.

  • 이 collection에 제공된 필터와 일치하는 단일 문서를 업데이트합니다.

    선언

    Objective-C

    - (void)updateOneDocumentWhere:
                (nonnull NSDictionary<NSString *, id<RLMBSON>> *)filterDocument
                    updateDocument:(nonnull NSDictionary<NSString *, id<RLMBSON>> *)
                                       updateDocument
                        completion:(nonnull RLMMongoUpdateBlock)completion;

    매개변수

    filterDocument

    일치 기준을 나타내는 bson Document 입니다.

    updateDocument

    일치하는 문서에 적용될 업데이트를 나타내는 bson Document 입니다.

    completion

    문서 업데이트 시도의 결과입니다.

  • 이 collection에 제공된 필터와 일치하는 여러 문서를 업데이트합니다.

    선언

    Objective-C

    - (void)updateManyDocumentsWhere:
                (nonnull NSDictionary<NSString *, id<RLMBSON>> *)filterDocument
                      updateDocument:
                          (nonnull NSDictionary<NSString *, id<RLMBSON>> *)
                              updateDocument
                              upsert:(BOOL)upsert
                          completion:(nonnull RLMMongoUpdateBlock)completion;

    매개변수

    filterDocument

    일치 기준을 나타내는 bson Document 입니다.

    updateDocument

    일치하는 문서에 적용될 업데이트를 나타내는 bson Document 입니다.

    upsert

    true이면 쿼리와 일치하는 문서가 없는 경우 새 문서를 만듭니다.

    completion

    문서 업데이트 시도의 결과입니다.

  • 이 collection에 제공된 필터와 일치하는 여러 문서를 업데이트합니다.

    선언

    Objective-C

    - (void)updateManyDocumentsWhere:
                (nonnull NSDictionary<NSString *, id<RLMBSON>> *)filterDocument
                      updateDocument:
                          (nonnull NSDictionary<NSString *, id<RLMBSON>> *)
                              updateDocument
                          completion:(nonnull RLMMongoUpdateBlock)completion;

    매개변수

    filterDocument

    일치 기준을 나타내는 bson Document 입니다.

    updateDocument

    일치하는 문서에 적용될 업데이트를 나타내는 bson Document 입니다.

    completion

    문서 업데이트 시도의 결과입니다.

  • 쿼리 필터를 기반으로 collection의 단일 문서를 업데이트하고 업데이트 전 또는 업데이트 후 형식으로 문서를 반환합니다. updateOneDocument 과 달리 이 조치를 사용하면 동일한 명령을 사용하여 원자적으로 문서를 찾고, 업데이트하고, 반환할 수 있습니다. 이렇게 하면 별도의 찾기 작업과 업데이트 작업 간에 다른 업데이트 작업으로 인해 문서가 변경되는 위험을 방지할 수 있습니다.

    선언

    Objective-C

    - (void)findOneAndUpdateWhere:
                (nonnull NSDictionary<NSString *, id<RLMBSON>> *)filterDocument
                   updateDocument:(nonnull NSDictionary<NSString *, id<RLMBSON>> *)
                                      updateDocument
                          options:(nonnull RLMFindOneAndModifyOptions *)options
                       completion:(nonnull RLMMongoFindOneBlock)completion;

    매개변수

    filterDocument

    일치 기준을 나타내는 bson Document 입니다.

    updateDocument

    일치하는 문서에 적용될 업데이트를 나타내는 bson Document 입니다.

    options

    RemoteFindOneAndModifyOptions 명령을 실행할 때 사용합니다.

    completion

    문서 업데이트 시도의 결과입니다.

  • 쿼리 필터를 기반으로 collection의 단일 문서를 업데이트하고 업데이트 전 또는 업데이트 후 형식으로 문서를 반환합니다. updateOneDocument 과 달리 이 조치를 사용하면 동일한 명령을 사용하여 원자적으로 문서를 찾고, 업데이트하고, 반환할 수 있습니다. 이렇게 하면 별도의 찾기 작업과 업데이트 작업 간에 다른 업데이트 작업으로 인해 문서가 변경되는 위험을 방지할 수 있습니다.

    선언

    Objective-C

    - (void)findOneAndUpdateWhere:
                (nonnull NSDictionary<NSString *, id<RLMBSON>> *)filterDocument
                   updateDocument:(nonnull NSDictionary<NSString *, id<RLMBSON>> *)
                                      updateDocument
                       completion:(nonnull RLMMongoFindOneBlock)completion;

    매개변수

    filterDocument

    일치 기준을 나타내는 bson Document 입니다.

    updateDocument

    일치하는 문서에 적용될 업데이트를 나타내는 bson Document 입니다.

    completion

    문서 업데이트 시도의 결과입니다.

  • 쿼리 필터를 기반으로 컬렉션의 단일 문서를 덮어쓰고 문서를 대체 전 또는 대체 후 형식으로 반환합니다. updateOneDocument 과 달리 이 작업을 사용하면 동일한 명령을 사용하여 원자적으로 문서를 찾고, 바꾸고, 반환할 수 있습니다. 이렇게 하면 별도의 찾기 작업과 업데이트 작업 간에 다른 업데이트 작업으로 인해 문서가 변경되는 위험을 방지할 수 있습니다.

    선언

    Objective-C

    - (void)findOneAndReplaceWhere:
                (nonnull NSDictionary<NSString *, id<RLMBSON>> *)filterDocument
               replacementDocument:(nonnull NSDictionary<NSString *, id<RLMBSON>> *)
                                       replacementDocument
                           options:(nonnull RLMFindOneAndModifyOptions *)options
                        completion:(nonnull RLMMongoFindOneBlock)completion;

    매개변수

    filterDocument

    쿼리와 일치해야 하는 Document 입니다.

    replacementDocument

    대체를 설명하는 Document 입니다.

    options

    RLMFindOneAndModifyOptions 명령을 실행할 때 사용합니다.

    completion

    문서 교체 시도의 결과입니다.

  • 쿼리 필터를 기반으로 컬렉션의 단일 문서를 덮어쓰고 문서를 대체 전 또는 대체 후 형식으로 반환합니다. updateOneDocument 과 달리 이 작업을 사용하면 동일한 명령을 사용하여 원자적으로 문서를 찾고, 바꾸고, 반환할 수 있습니다. 이렇게 하면 별도의 찾기 작업과 업데이트 작업 간에 다른 업데이트 작업으로 인해 문서가 변경되는 위험을 방지할 수 있습니다.

    선언

    Objective-C

    - (void)findOneAndReplaceWhere:
                (nonnull NSDictionary<NSString *, id<RLMBSON>> *)filterDocument
               replacementDocument:(nonnull NSDictionary<NSString *, id<RLMBSON>> *)
                                       replacementDocument
                        completion:(nonnull RLMMongoFindOneBlock)completion;

    매개변수

    filterDocument

    쿼리와 일치해야 하는 Document 입니다.

    replacementDocument

    업데이트 를 설명하는 Document 입니다.

    completion

    문서 교체 시도의 결과입니다.

  • 쿼리 필터를 기반으로 컬렉션에서 단일 문서를 제거하고 삭제되기 직전의 문서와 동일한 형식의 문서를 반환합니다. deleteOneDocument 와 달리 이 작업을 사용하면 동일한 명령으로 문서를 원자적으로 찾고 삭제할 수 있습니다. 이렇게 하면 별도의 찾기 작업과 삭제 작업 간에 다른 업데이트 작업으로 인해 문서가 변경되는 위험을 방지할 수 있습니다.

    선언

    Objective-C

    - (void)findOneAndDeleteWhere:
                (nonnull NSDictionary<NSString *, id<RLMBSON>> *)filterDocument
                          options:(nonnull RLMFindOneAndModifyOptions *)options
                       completion:(nonnull RLMMongoDeleteBlock)completion;

    매개변수

    filterDocument

    쿼리와 일치해야 하는 Document 입니다.

    options

    RLMFindOneAndModifyOptions 명령을 실행할 때 사용합니다.

    completion

    문서 삭제 시도의 결과입니다.

  • 쿼리 필터를 기반으로 컬렉션에서 단일 문서를 제거하고 삭제되기 직전의 문서와 동일한 형식의 문서를 반환합니다. deleteOneDocument 와 달리 이 작업을 사용하면 동일한 명령으로 문서를 원자적으로 찾고 삭제할 수 있습니다. 이렇게 하면 별도의 찾기 작업과 삭제 작업 간에 다른 업데이트 작업으로 인해 문서가 변경되는 위험을 방지할 수 있습니다.

    선언

    Objective-C

    - (void)findOneAndDeleteWhere:
                (nonnull NSDictionary<NSString *, id<RLMBSON>> *)filterDocument
                       completion:(nonnull RLMMongoDeleteBlock)completion;

    매개변수

    filterDocument

    쿼리와 일치해야 하는 Document 입니다.

    completion

    문서 삭제 시도의 결과입니다.

  • collection에 대한 MongoDB change stream을 열어 변경 사항을 확인합니다. 결과 스트림은 구성된 MongoDB 규칙에 따라 활성 사용자에게 볼 권한이 있는 이 collection의 모든 이벤트에 대한 알림을 받습니다.

    선언

    Objective-C

    - (nonnull RLMChangeStream *)watchWithDelegate:
                                     (nonnull id<RLMChangeEventDelegate>)delegate
                                     delegateQueue:(nullable dispatch_queue_t)queue;

    매개변수

    delegate

    결과 change stream에서 이벤트 및 오류에 React 위임입니다.

    queue

    대기열이 제공되지 않은 경우 스트리밍 이벤트를 선택적 대기열로 전달합니다.

  • 특정 문서의 변경 사항을 감시하기 위해 컬렉션에 대한 MongoDB 변경 스트림을 엽니다. 감시할 문서는 _id로 명시적으로 지정되어야 합니다.

    선언

    Objective-C

    - (nonnull RLMChangeStream *)
        watchWithFilterIds:(nonnull NSArray<RLMObjectId *> *)filterIds
                  delegate:(nonnull id<RLMChangeEventDelegate>)delegate
             delegateQueue:(nullable dispatch_queue_t)queue;

    매개변수

    filterIds

    Collection에서 관찰할 ID의 목록입니다.

    delegate

    결과 change stream에서 이벤트 및 오류에 React 위임입니다.

    queue

    대기열이 제공되지 않은 경우 스트리밍 이벤트를 선택적 대기열로 전달합니다.

  • collection에 대한 MongoDB change stream을 열어 변경 사항을 확인합니다. 제공된 BSON 문서는 스트림에서 발생하는 변경 이벤트에 대한 일치 표현식 필터로 사용됩니다.

    https://mongodb.com/ko-kr/docs/manual/reference/operator/aggregation/match/ 를 참조하세요. 일치 필터를 정의하는 방법에 대한 문서를 참조하세요.

    ChangeEvents를 필터하다 하기 위해 일치 표현식 을 정의하는 것은 트리거에 대한 일치 표현식 을 정의하는 것과 유사합니다: https://mongodb.com/ko-kr/docs/ 영역/triggers/database-triggers/

    선언

    Objective-C

    - (nonnull RLMChangeStream *)
        watchWithMatchFilter:
            (nonnull NSDictionary<NSString *, id<RLMBSON>> *)matchFilter
                    delegate:(nonnull id<RLMChangeEventDelegate>)delegate
               delegateQueue:(nullable dispatch_queue_t)queue;

    매개변수

    matchFilter

    수신 변경 이벤트에 적용할 $match 필터

    delegate

    결과 change stream에서 이벤트 및 오류에 React 위임입니다.

    queue

    대기열이 제공되지 않은 경우 스트리밍 이벤트를 선택적 대기열로 전달합니다.