问题
I am saving my document in MongoDb and using save method with class,collection name param.
All the methods of save and insert are void return type. then how i can know that my document was saved or not.
Is it that i have to re-query to check whether my document was saved. I just need any return value to see if it was saved.
Moreover i am using Spring Data for Mongo to do operations.
回答1:
It depends on what WriteConcern are you using. If you use WriteConcern.ACKNOWLEDGED,
the operation will wait for an acknowledgement from the primary server, so if no exception is raised, the record has been saved correctly. Otherwise you should be able to query WriteResult
WriteResult writeResult=mycollection.insert(record);
if (writeResult.getError() != null) {
throw new Exception(String.format("Insertion wasn't successful: %s",writeResult));
}
回答2:
org.springframework.data.mongodb.repository.MongoRepository
returns a list of the saved objects:
<S extends T> List<S> save(Iterable<S> entites);
or in
CrudRepository
you have
<S extends T> S save(S entity);
which provides the saved object. That object will have a whatever field you annotated with @Id with a value filled in different to null after it has successfully been persisted.
来源:https://stackoverflow.com/questions/33867680/how-we-would-know-if-document-was-saved-in-mongodb-after-save-method