mongoTemplate の update メソッドによって返される結果が何であるかを知りたいです。
元。mongoTemplate.updateFirst(query, update, entityClass);
WriteResult オブジェクトを返します。更新が成功した場合と失敗した場合の内容は何ですか。
mongoTemplate の update メソッドによって返される結果が何であるかを知りたいです。
元。mongoTemplate.updateFirst(query, update, entityClass);
WriteResult オブジェクトを返します。更新が成功した場合と失敗した場合の内容は何ですか。
すべての仲間の読者のために、ここでもう少し情報があります〜
MongomongoTemplate.updateFirst
および他の多くのメソッドは、抽象UpdateResult
クラスを返します。AcknowledgedUpdateResult
&のインスタンスUnacknowledgedUpdateResult
このインスタンスから取得できる情報:
long matchedCount
long modifiedCount
BsonValue upsertedId
# 文字列としてのドキュメント IDあなたは呼び出すことができます
wasAcknowledged()
isModifiedCountAvailable()
getMatchedCount()
getUpsertedId()
isModifiedCountAvailable()
非推奨であることに注意してください。
上記のメソッド (および 内の他の多くの同様のメソッドcom.mongodb.client.result
) を実行しても、完全なドキュメント/モデルを取得することはできません。
あなたができる最善の方法は、更新が成功したかどうかを確認し、変更された数を確認し、必要に応じて別のクエリを実行して ID で完全なドキュメントを見つけることです。
上記の情報が私にとってあまり役に立たなかったことを考えると、これが他の人に役立つことを願っています。
MongoTemplate のドキュメントで説明されているように:
public com.mongodb.WriteResult updateFirst(Query query, Update update, Class entityClass) インターフェースからコピーされた説明: MongoOperations クエリ ドキュメントと一致するエンティティ クラスのコレクションで見つかった最初のオブジェクトを、指定された更新ドキュメントで更新します。定義: インターフェース MongoOperations 内の updateFirst パラメータ: query - 更新するレコードを選択するために使用される基準を指定するクエリ ドキュメント update - 更新されたオブジェクトまたは既存のオブジェクトを操作する $ 演算子を含む更新ドキュメント。entityClass - 使用するコレクションを決定するクラス 戻り値: 以前の書き込みの結果にアクセスできるようにする WriteResult。
結果は、返された WriteResult から、成功の場合は getN() を、失敗の場合は getError() を使用して見つけることができます。
https://api.mongodb.com/java/2.6/com/mongodb/WriteResult.html