私は現在、SpringDataを介してMongoDbのドキュメントを更新する方法を理解しようとしています。もちろん、mongoTemplate.updateFirstなどがあります。しかし、これを考慮してください:
User u = mongoTemplate.findOne(new Query(Criteria.where("_id").is(s)), User.class);
if (u == null) throw new UsernameNotFoundException("user " + s + " does not exist");
Session.setCurrentUser(u);
mongoTemplate.updateFirst(new Query(Criteria.where("_id").is(s)), new Update().inc("logincount", 1), User.class);
...ユーザーにクエリを実行します。nullの場合は例外をスローします。見つかった場合はlogincountを1増やします。完全に機能します。しかし、これは正しい方法ですか?ユーザーを再度照会する必要がありますか?オブジェクトを変更して再保存することはできませんか?