mongoクライアント

インターフェース MongoClient

mongoクライアントは、同期サポートなしで App Service の データソースに直接アクセスするために使用されます。

この API は、Atlas App Service 「MongoDB API」 に対応しています。 メソッドと引数の詳細については、 MongoDB API リファレンスを参照してください。

EJSONとの間の直列化は、 Kotlin 直列化フレームワークをサポートし、 直列化可能な でマークされたクラスへの直列化を処理する KBSON を使用して実行されます。 直列化は、さまざまなEJSON MongoClient MongoDatabase 、および MongoCollection ファクトリー メソッドに渡される ライザーをカスタマイズすることでカスタマイズできます。

オブジェクト参照(リンク)はプライマリキーのみによってシリアル化されるため、Realm オブジェクト( RealmObject 、埋め込み RealmObject、および非対称 RealmObject)との間で MongoDB API のリクエストと応答をシリアル化するには、シリアル化フレームワークをそれら用の特別なシリアライザーを使用して構成する必要があります。 これは以下で実行できます

val user = app.currentUser
val client = user.mongoClient(
"serviceName",
EJson(
serializersModule = realmSerializerModule(
setOf(
MongoDBCollectionDataType1::class,
MongoDBCollectionDataType2::class
)
)
)

注意MongoDB API 応答にはリンクのプライマリキー情報のみが含まれるため、Realm オブジェクト( RealmObject 、埋め込み RealmObject、および非対称 RealmObject)への応答を直列化すると、プライマリキー プロパティのみが設定されたターゲット オブジェクトのインスタンスが作成されます。 Realm オブジェクトの他のすべてのプロパティには、クラス定義で指定されたデフォルト値が含まれます。

注意します。EJSON シリアライザーは実験的な KBsonSerializerApi にオプトインする必要があります。

プロパティ

クリップボードにコピーされたリンク
抽象 価値 serviceName: 文字列

MongoClientが接続しているデータソースの名前。

関数

クリップボードにコピーされたリンク
@試験用KBsonSerializerApi
インライン fun <t : baseRealmObject> MongoClient.コレクション(eJson: EJson? = null): MongoCollection<t>
クリップボードにコピーされたリンク
@試験用KBsonSerializerApi
抽象 fun database(databaseName : string EJSON : EJSON ? = null): MongoDatabase

データソースのリモート コレクションのデータにアクセスするためのMongoDatabaseオブジェクトを取得します。