RMMongoCollection
Objective-C
@interface RLMMongoCollection : NSObject
Swift
@_nonSendable(_assumed) class RLMMongoCollection : NSObject, @unchecked Sendable
RLMMongoCollection
は MongoDB コレクションを表します。
インスタンスはRLMMongoDatabase
から取得できます。
作成、読み取り、更新、削除のメソッドが利用できます。
Realm Cloud サーバーに対する操作は非同期で実行されます。
注意
データの読み取りまたは書き込みを行う前に、ユーザーはログインする必要があります。使用法: RMMongoClient *client = [Self.app mongoClient:@"mongodb 1 ], RMMongoDatabase *データベース = [client databaseWithName:@"rest_data"])- RMMongoCollection *collection = [database collectionWithName:@"Dog"]# [collection insertOneDocument:@{@"name": @"fido", @"brewed": @"cane cores"}MongoDB 完了:
次も参照してください
-
この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 が順番に返されます
-
このコレクション内の指定されたフィルターに一致するドキュメントを検索します。
宣言
Objective-C
- (void)findWhere: (nonnull NSDictionary<NSString *, id<RLMBSON>> *)filterDocument options:(nonnull RLMFindOptions *)options completion:(nonnull RLMMongoFindBlock)completion;
パラメーター
filterDocument
クエリに一致する必要があるBSONとしての
Document
。options
RLMFindOptions
コマンドを実行するときに使用します。completion
ドキュメントの結果としてのBSON配列やエラーが発生した場合は、
-
このコレクション内の指定されたフィルターに一致するドキュメントを検索します。
宣言
Objective-C
- (void)findWhere: (nonnull NSDictionary<NSString *, id<RLMBSON>> *)filterDocument completion:(nonnull RLMMongoFindBlock)completion;
パラメーター
filterDocument
クエリに一致する必要があるBSONとしての
Document
。completion
結果としてのBSON配列( stringまたはエラー)
-
指定されたフィルターに一致するコレクションまたはビューから 1 つのドキュメントを返します。 クエリを満たすドキュメントが複数ある場合、このメソッドではクエリのソート順または自然な順序に従って最初のドキュメントが返されます。
宣言
Objective-C
- (void)findOneDocumentWhere: (nonnull NSDictionary<NSString *, id<RLMBSON>> *)filterDocument options:(nonnull RLMFindOptions *)options completion:(nonnull RLMMongoFindOneBlock)completion;
パラメーター
filterDocument
クエリに一致する必要があるBSONとしての
Document
。options
RLMFindOptions
コマンドを実行するときに使用します。completion
BSONまたは エラーが発生した場合
-
指定されたフィルターに一致するコレクションまたはビューから 1 つのドキュメントを返します。 クエリを満たすドキュメントが複数ある場合、このメソッドではクエリのソート順または自然な順序に従って最初のドキュメントが返されます。
宣言
Objective-C
- (void)findOneDocumentWhere: (nonnull NSDictionary<NSString *, id<RLMBSON>> *)filterDocument completion:(nonnull RLMMongoFindOneBlock)completion;
パラメーター
filterDocument
クエリに一致する必要があるBSONとしての
Document
。completion
BSONまたは エラーが発生した場合
-
このコレクションに対して 集計フレームワーク パイプライン を実行します。
宣言
Objective-C
- (void)aggregateWithPipeline: (nonnull NSArray<NSDictionary<NSString *, id<RLMBSON>> *> *)pipeline completion:(nonnull RLMMongoFindBlock)completion;
パラメーター
pipeline
実行される集計操作のパイプラインを含む
Documents
で構成されるBSON配列。completion
ドキュメントの結果としてのBSON配列やエラーが発生した場合は、
-
指定されたフィルターに一致するこのコレクション内のドキュメントの数をカウントします。
宣言
Objective-C
- (void)countWhere: (nonnull NSDictionary<NSString *, id<RLMBSON>> *)filterDocument limit:(NSInteger)limit completion:(nonnull RLMMongoCountBlock)completion;
パラメーター
filterDocument
クエリに一致する必要があるBSONとしての
Document
。limit
カウントするドキュメントの最大量
completion
フィルターに一致したドキュメントの数を返します。
-
指定されたフィルターに一致するこのコレクション内のドキュメントの数をカウントします。
宣言
Objective-C
- (void)countWhere: (nonnull NSDictionary<NSString *, id<RLMBSON>> *)filterDocument completion:(nonnull RLMMongoCountBlock)completion;
パラメーター
filterDocument
クエリに一致する必要があるBSONとしての
Document
。completion
フィルターに一致したドキュメントの数を返します。
-
コレクションから一致するドキュメントを 1 つ削除します。
宣言
Objective-C
- (void)deleteOneDocumentWhere: (nonnull NSDictionary<NSString *, id<RLMBSON>> *)filterDocument completion:(nonnull RLMMongoCountBlock)completion;
パラメーター
filterDocument
クエリに一致する必要があるBSONとしての
Document
。completion
削除を実行した結果。 削除されたオブジェクトの数を返します
-
複数のドキュメントを削除します
宣言
Objective-C
- (void)deleteManyDocumentsWhere: (nonnull NSDictionary<NSString *, id<RLMBSON>> *)filterDocument completion:(nonnull RLMMongoCountBlock)completion;
パラメーター
filterDocument
一致条件を表すドキュメント
completion
削除を実行した結果。 削除のカウントを返します
-
このコレクション内の指定されたフィルターに一致する 1 つのドキュメントを更新します。
宣言
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
ドキュメントを更新しようとした試行の結果。
-
このコレクション内の指定されたフィルターに一致する 1 つのドキュメントを更新します。
宣言
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
ドキュメントを更新しようとした試行の結果。
-
このコレクション内の指定されたフィルターに一致する複数のドキュメントを更新します。
宣言
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
ドキュメントを更新しようとした試行の結果。
-
このコレクション内の指定されたフィルターに一致する複数のドキュメントを更新します。
宣言
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
ドキュメントを更新しようとした試行の結果。
-
クエリフィルターに基づいてコレクション内の 1 つのドキュメントを更新し、更新前または更新後の形式でドキュメントを返します。
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
ドキュメントを更新しようとした試行の結果。
-
クエリフィルターに基づいてコレクション内の 1 つのドキュメントを更新し、更新前または更新後の形式でドキュメントを返します。
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
ドキュメントを更新しようとした試行の結果。
-
クエリフィルターに基づいてコレクション内の 1 つのドキュメントを上書きし、置換前または置換後の形式でドキュメントを返します。
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
ドキュメントを置き換えようとした試行の結果。
-
クエリフィルターに基づいてコレクション内の 1 つのドキュメントを上書きし、置換前または置換後の形式でドキュメントを返します。
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
ドキュメントを置き換えようとした試行の結果。
-
クエリフィルターに基づいてコレクションから 1 つのドキュメントを削除し、削除される 直前 のドキュメントと同じ形式のドキュメントを返します。
deleteOneDocument
とは異なり、このアクションでは同じコマンドでドキュメントをアトミックに検索して削除できます。 これにより、検索操作と削除操作が個別に行われる間に他の更新操作でドキュメントが変更されるリスクを回避できます。宣言
Objective-C
- (void)findOneAndDeleteWhere: (nonnull NSDictionary<NSString *, id<RLMBSON>> *)filterDocument options:(nonnull RLMFindOneAndModifyOptions *)options completion:(nonnull RLMMongoDeleteBlock)completion;
パラメーター
filterDocument
クエリに一致する必要がある
Document
。options
RLMFindOneAndModifyOptions
コマンドを実行するときに使用します。completion
ドキュメントを削除しようとした試行の結果。
-
クエリフィルターに基づいてコレクションから 1 つのドキュメントを削除し、削除される 直前 のドキュメントと同じ形式のドキュメントを返します。
deleteOneDocument
とは異なり、このアクションでは同じコマンドでドキュメントをアトミックに検索して削除できます。 これにより、検索操作と削除操作が個別に行われる間に他の更新操作でドキュメントが変更されるリスクを回避できます。宣言
Objective-C
- (void)findOneAndDeleteWhere: (nonnull NSDictionary<NSString *, id<RLMBSON>> *)filterDocument completion:(nonnull RLMMongoDeleteBlock)completion;
パラメーター
filterDocument
クエリに一致する必要がある
Document
。completion
ドキュメントを削除しようとした試行の結果。
-
コレクションに対して MongoDB 変更ストリーム を開き、変更を監視します。 結果のストリームには、構成された MongoDB ルールに基づいて参照する権限を持つこのコレクションのすべてのイベントが通知されます。
宣言
Objective-C
- (nonnull RLMChangeStream *)watchWithDelegate: (nonnull id<RLMChangeEventDelegate>)delegate delegateQueue:(nullable dispatch_queue_t)queue;
パラメーター
delegate
結果として得られる変更ストリームからのイベントとエラーに対応する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
監視するコレクション内の _ids のリスト。
delegate
結果として得られる変更ストリームからのイベントとエラーに対応するReact 。
queue
ストリーミング イベントをオプションのキューにディスパッチします。キューが提供されない場合は、メイン キューが使用されます。
-
コレクションに対して MongoDB 変更ストリーム を開き、変更を監視します。 提供された BSON ドキュメントは、ストリームから取得される変更イベントのマッチ式フィルターとして使用されます。
https://mongodb.com/java-j/docs/manual/reference/operator/aggregation/match/を参照してください 一致フィルターの定義方法に関するドキュメントについては、 を参照してください。
ChangeEvents をフィルタリングするためのマッチ式の定義は、trigger のマッチ式を定義するのと同様です。 https://mongodb.com/java-j/docs/realm/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
結果として得られる変更ストリームからのイベントとエラーに対応するReact 。
queue
ストリーミング イベントをオプションのキューにディスパッチします。キューが提供されない場合は、メイン キューが使用されます。