2014-02-24 90 views
0

MongoDB支持continueOnError選項,因此即使在單個文檔插入時出現故障,批量插入也會繼續。springdata MongoDB批量插入continueOnError選項

有沒有辦法使用spring-data version 1.3.3.RELEASE來實現這個功能。我正在使用MongoOperations類,但沒有看到允許我這樣做的API。

謝謝!

回答

2

您應該MongoTemplate

mongoTemplate.setWriteConcern( 
    new WriteConcern(<Your options>).continueOnErrorForInsert(true)); 

設置此通過writeConcern選項或者應該有對WriteConcern,這是否和構造。

更具體的用法,我在配置類中設置一個Bean:

public @Bean 
MongoTemplate mongoTemplate() throws Exception { 
    MongoTemplate mongoTemplate = new MongoTemplate(mongoDbFactory()); 

    WriteConcern writeConcern = new WriteConcern(2); 
    writeConcern.continueOnErrorForInsert(true); 

    mongoTemplate.setWriteConcern(writeConcern); 

    return mongoTemplate; 
} 

再後來,成立了行動:

MongoOperations mongoOperation = (MongoOperations) ctx.getBean("mongoTemplate"); 

    Collection collection = new Collection() { ... } 

    mongoOperation.insert(collection,"collection"); // Uses the writeConcern options 
+0

酷,謝謝你的提示! – bsam