BestPractice для подтверждения удаления данных из mongodb с использованием springData

Просто хочу подтвердить механизм, с помощью которого можно подтвердить, что данные были успешно удалены из MongoDB.

Используя следующий код, я могу успешно удалить запись из mongodb

Query query = new Query();
query.addCriteria(Criteria.where("id").is(id));
MongoConfig.getMongoTemplate().remove(query, Person.class);

Но что делать, если записи с указанным идентификатором нет в базе данных. Даже в этом случае mongoDB не выдает никаких ошибок.

Теперь, если я попытаюсь проверить, не было ли ошибки, используя следующий код:

MongoConfig.getMongoTemplate().getDb().getLastError()

Я не слишком уверен, что в многопоточной среде, какова вероятность того, что ошибка, возвращаемая mongodb, если она присутствует, связана только с операцией удаления.

Согласно второму подходу, сначала загрузка объекта с предоставленным идентификатором, а затем его удаление не имеет для вас особого смысла, так как будут запущены ненужные 2 запроса.

Любые указатели/помощь по этому вопросу высоко ценятся.


person tarunkumar    schedule 16.01.2014    source источник


Ответы (1)


  1. MongoDB Java API поддерживает потоки/безопасен, и многопоточность не должна вызывать проблем с проверкой getLastError в соединении, которое вы удалили.
  2. Если вы используете более новую версию API, вполне вероятно, что по умолчанию уже выполняется проверка getLastError. Какая версия вашего API?
person aks    schedule 06.02.2014