spring data mongo db repository save

时间:2015-08-11 16:43:11

标签: java mongodb spring-data-mongodb

是MongoRepository的save方法,一个接一个地保存文件,或者它使用mongo的批量插入功能。我面临的问题是,我将1000个文档传递给存储库,但性能上下文没有任何变化。

Interface MongoRepository<T,ID extends Serializable>

save

<S extends T> List<S> save(Iterable<S> entites)

Specified by:
    save in interface CrudRepository<T,ID extends Serializable>

不确定它的超类crudrespository正在做什么,因为这是特定于JPA而不是mongo

1 个答案:

答案 0 :(得分:5)

它使用批量插入。以MongoRepository实现 - SimpleMongoRepository#save方法为例。如果是插入,它将从insertAll调用MongoOperationsMongoOperations的实现为MongoTemplate。现在,您可以查看MongoTemplate#insertAll,然后您会看到MongoTemplate#doInsertAll调用MongoTemplate#doInsertBatch方法执行批量插入。

是的,是的。插入1000份文件可能不会显着反映绩效差异。