mongoc_client_start_session を使用してセッションを開始し、セッションを一連の操作とマルチドキュメントトランザクションに使用し、mongoc_client_session_destroy で解放します。セッションを使用する mongoc_cursor_t または mongoc_change_stream_t は、セッションの前に破棄する必要があり、セッションは mongoc_client_t が送信される前に破棄する必要があります。
デフォルトでは、セッションは因果関係がコンシステントです。因果整合性を無効にするには、セッションを開始する前に mongoc_session_opt_t と mongoc_session_opts_new を作成し、 mongoc_session_opts_set_causal_consistency を呼び出し、次に mongoc_session_opts_destroy. で構造体を解放します。
セッションでは未確認の書込みは禁止されています。
mongoc_client_session_t は、一度に 1 つのスレッドのみで使用する必要があります。セッションプーリングにより、 mongoc_client_start_session は、一定時間アイドル状態であり、アイドル タイムアウト後に閉じられないセッションを返す場合があります。セッションを取得してから 1 分以内にセッションを使用してセッションを更新し、タイムアウトを回避します。