From 885e9575f247a3e9444202b17dca0b55bcbca11d Mon Sep 17 00:00:00 2001 From: Thomas Risberg Date: Thu, 2 Dec 2010 16:24:51 -0500 Subject: [PATCH] DATADOC-16 added updateMulti and updateFirst methods --- .../data/document/mongodb/MongoTemplate.java | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/MongoTemplate.java b/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/MongoTemplate.java index 4e03619ef..436a7b04e 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/MongoTemplate.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/MongoTemplate.java @@ -237,11 +237,11 @@ public class MongoTemplate implements InitializingBean { } } - public void update(DBObject queryDoc, DBObject updateDoc) { - update(getRequiredDefaultCollectionName(), queryDoc, updateDoc); + public void updateFirst(DBObject queryDoc, DBObject updateDoc) { + updateFirst(getRequiredDefaultCollectionName(), queryDoc, updateDoc); } - public void update(String collectionName, DBObject queryDoc, DBObject updateDoc) { + public void updateFirst(String collectionName, DBObject queryDoc, DBObject updateDoc) { WriteResult wr = null; try { wr = getDb().getCollection(collectionName).update(queryDoc, updateDoc); @@ -250,6 +250,19 @@ public class MongoTemplate implements InitializingBean { } } + public void updateMulti(DBObject queryDoc, DBObject updateDoc) { + updateMulti(getRequiredDefaultCollectionName(), queryDoc, updateDoc); + } + + public void updateMulti(String collectionName, DBObject queryDoc, DBObject updateDoc) { + WriteResult wr = null; + try { + wr = getDb().getCollection(collectionName).updateMulti(queryDoc, updateDoc); + } catch (MongoException e) { + throw new DataRetrievalFailureException("Error during updateMulti using " + queryDoc + ", " + updateDoc + ": " + wr.getLastError().getErrorMessage(), e); + } + } + public void remove(DBObject queryDoc) { remove(getRequiredDefaultCollectionName(), queryDoc); }