使用spring Data确认从mongodb删除数据的最佳实践

时间:2014-01-16 03:07:25

标签: mongodb spring-data-mongodb

只想确认可以确认数据已从MongoDB中成功删除的机制。

通过使用以下代码,我可以从mongodb

成功删除记录
Query query = new Query();
query.addCriteria(Criteria.where("id").is(id));
MongoConfig.getMongoTemplate().remove(query, Person.class);

但是,如果数据库中不存在提供id的记录,该怎么办?即使在那种情况下,mongoDB也不会产生任何错误。

现在,如果我尝试使用以下代码检查是否有任何错误:

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

我不太确定在多线程环境中,mongodb返回的错误(如果存在)与删除操作有关的可能性是什么。

按照第二种方法,首先使用提供的id加载对象然后删除它对你没有多大意义,因为将会触发不必要的2个查询。

非常感谢任何指针/帮助。

1 个答案:

答案 0 :(得分:0)

  1. MongoDB Java API是线程感知/安全的,并且多线程不应该在您执行删除的连接上检查getLastError时出现任何问题。
  2. 如果您使用的是较新版本的API,则默认情况下很可能已经完成了getLastError检查。您的API版本是什么?