PR #114の時点で、これには最上位の構成オプションdefault_commit_options
を使用できます。デフォルトでは、バンドルは ODM と同じ値である を使用します{safe: true}
。サポートされているオプションの簡単な例を次に示します。
doctrine_mongodb:
default_commit_options:
safe: 2 # boolean or positive integer for replication
fsync: false # boolean
timeout: 10 # integer >= -1
詳細については、DI 拡張機能の構成クラスと単体テストを参照してください。
古いバージョンの DoctrineMongoDBBundle では、Configuration クラスがサービス コンテナーに登録されているため、独自に実装できます。これを行うための 2 つのオプションは、独自のバンドルにコンパイラ パスを作成し、サービス定義にメソッド呼び出しを追加するか、それが複雑すぎる場合は、ランタイム コードでサービス インスタンスにアクセスしてsetDefaultCommitOptions()
直接呼び出すことです。
対象となるコードは、DoctrineMongoDBExtensionとloadDocumentManager()
メソッドにあります。そこから、各 Configuration インスタンスに割り当てられたサービス ID を確認できます (DocumentManager ごとに 1 つ存在します)。メソッドを介して DM の構成を取得することもできると思いますgetConfiguration()
。