1

を使用してレコードのコレクションを挿入するために、MongoDB C# ドライバーを使用していInsertManyAsyncます。

現在、返された後にコレクション全体を反復処理InsertManyAsyncし、ID が入力されていることを確認するコードがあります。ドライバーがすでにこれを処理していると思いますが、そう言っているドキュメントは見つかりませんでした。

正常InsertManyAsyncに返された場合 (つまり、例外がスローされなかった場合)、ドライバーは、提供されたコレクションの ID が設定されていることを保証しますか?

4

1 に答える 1

1

はい。操作がエラーなしで完了した場合は、ドキュメントに ID があることが保証されます (操作の前にユーザーが作成したか、操作自体でドライバーによって作成されました)。

さらに、ID は MongoDB サーバーを呼び出す前にドライバー自体(クライアント側) によって生成されるため、操作で例外が発生した場合 (サーバーがダウンした場合など) にも ID が設定されるという良い変更があります。

ID は、ここに記載されているMongoCollectionImpl.AssignId方法で割り当てられます

于 2015-06-22T15:27:47.657 に答える