0
我有一个在mongoDB中有两个字段(String,integer)的集合(A)。我想通过增加一些价值来更新收集使用spring更新mongo Db中的数据(MongoTemplate)
Ex。比方说,我有一个文件A [field1:ABC,field2:25]。我想通过添加5来更新它,所以它在更新后将看起来像A [field1:ABC,field2:30]。
我已经使用这个代码如下:
Query query = new Query();
query.addCriteria(Criteria.where("field1").is("ABC));
BeanName beanName = template.findOne(query, BeanName.class,collectionName);
if(null != beanName){
Update update = new Update();
update.set("field1", "ABC");
update.set("field2", beanName.getField2() + 5)
template.updateFirst(query, update, BeanName.class,collectionName);
}
else{
template.save(beanName, collectionName); // the value of filed1 and field 2 is populated in a bean with instance 'beanName'
}
的代码woriking罚款与预期的结果,但性能非常缓慢。有没有其他有效的方法呢。
我正在处理大量的数据更新。
这种方法不会让我对现有的值更新。有什么办法可以吗? –
你是什么意思?规范声明“修改并返回单个文档” –