MongoDBとJavaAPIを使用してJavaコードを作成していますが、Javadocの一部がわかりません。
マルチスレッドのコンテキストでは、DBCollection.html#update(com.mongodb.DBObject、com.mongodb.DBObject)を使用して一意のドキュメントを更新しますが、2つのスレッドが同時に書き込みを試みる可能性があることがわかりました。このコンテキストでは、Mongodbが楽観的な書き込みロックを使用しているように見えるため、書き込みが1回だけ行われたことを確認しましたが、プログラムで、書き込みが書き込みを行ったスレッドとそうでないスレッドを調べたいと思いました。「更新なし」の動作は無音だったので(つまり、例外などはありません)、問題に答えるために何らかの方法でAPIを検索し、いくつかのテストの後でこのメソッドを見つけました:WriteResult#getN()
public int getN()
Gets the "n" field
Returns:
説明は、うーん...本当に網羅的ではありません。私のテストでは、書き込みに勝ったスレッドには1を返すgetN()があり、他のスレッドには0が含まれていることがわかりました。
だから私の質問は:誰かがこれを確認できますか?