List of usage examples for org.springframework.data.mongodb.core MongoAction MongoAction
public MongoAction(@Nullable WriteConcern defaultWriteConcern, MongoActionOperation mongoActionOperation,
String collectionName, @Nullable Class<?> entityType, @Nullable Document document,
@Nullable Document query)
From source file:org.springframework.data.mongodb.core.MongoTemplate.java
protected Object insertDBObject(final String collectionName, final DBObject dbDoc, final Class<?> entityClass) { if (LOGGER.isDebugEnabled()) { LOGGER.debug(/*from w ww. j av a2s .com*/ "insert DBObject containing fields: " + dbDoc.keySet() + " in collection: " + collectionName); } return execute(collectionName, new CollectionCallback<Object>() { public Object doInCollection(DBCollection collection) throws MongoException, DataAccessException { MongoAction mongoAction = new MongoAction(writeConcern, MongoActionOperation.INSERT, collectionName, entityClass, dbDoc, null); WriteConcern writeConcernToUse = prepareWriteConcern(mongoAction); WriteResult wr; if (writeConcernToUse == null) { wr = collection.insert(dbDoc); } else { wr = collection.insert(dbDoc, writeConcernToUse); } handleAnyWriteResultErrors(wr, dbDoc, "insert"); return dbDoc.get(ID); } }); }
From source file:org.springframework.data.mongodb.core.MongoTemplate.java
protected List<ObjectId> insertDBObjectList(final String collectionName, final List<DBObject> dbDocList) { if (dbDocList.isEmpty()) { return Collections.emptyList(); }//from w ww.j a v a2s. c om if (LOGGER.isDebugEnabled()) { LOGGER.debug("insert list of DBObjects containing " + dbDocList.size() + " items"); } execute(collectionName, new CollectionCallback<Void>() { public Void doInCollection(DBCollection collection) throws MongoException, DataAccessException { MongoAction mongoAction = new MongoAction(writeConcern, MongoActionOperation.INSERT_LIST, collectionName, null, null, null); WriteConcern writeConcernToUse = prepareWriteConcern(mongoAction); WriteResult wr; if (writeConcernToUse == null) { wr = collection.insert(dbDocList); } else { wr = collection.insert(dbDocList.toArray((DBObject[]) new BasicDBObject[dbDocList.size()]), writeConcernToUse); } handleAnyWriteResultErrors(wr, null, "insert_list"); return null; } }); List<ObjectId> ids = new ArrayList<ObjectId>(); for (DBObject dbo : dbDocList) { Object id = dbo.get(ID); if (id instanceof ObjectId) { ids.add((ObjectId) id); } else { // no id was generated ids.add(null); } } return ids; }
From source file:org.springframework.data.mongodb.core.MongoTemplate.java
protected Object saveDBObject(final String collectionName, final DBObject dbDoc, final Class<?> entityClass) { if (LOGGER.isDebugEnabled()) { LOGGER.debug("save DBObject containing fields: " + dbDoc.keySet()); }/* w w w. j a v a 2 s. co m*/ return execute(collectionName, new CollectionCallback<Object>() { public Object doInCollection(DBCollection collection) throws MongoException, DataAccessException { MongoAction mongoAction = new MongoAction(writeConcern, MongoActionOperation.SAVE, collectionName, entityClass, dbDoc, null); WriteConcern writeConcernToUse = prepareWriteConcern(mongoAction); WriteResult wr; if (writeConcernToUse == null) { wr = collection.save(dbDoc); } else { wr = collection.save(dbDoc, writeConcernToUse); } handleAnyWriteResultErrors(wr, dbDoc, "save"); return dbDoc.get(ID); } }); }
From source file:org.springframework.data.mongodb.core.MongoTemplate.java
protected WriteResult doUpdate(final String collectionName, final Query query, final Update update, final Class<?> entityClass, final boolean upsert, final boolean multi) { return execute(collectionName, new CollectionCallback<WriteResult>() { public WriteResult doInCollection(DBCollection collection) throws MongoException, DataAccessException { MongoPersistentEntity<?> entity = entityClass == null ? null : getPersistentEntity(entityClass); DBObject queryObj = query == null ? new BasicDBObject() : mapper.getMappedObject(query.getQueryObject(), entity); DBObject updateObj = update.getUpdateObject(); for (String key : updateObj.keySet()) { updateObj.put(key, mongoConverter.convertToMongoType(updateObj.get(key))); }//from ww w . j a v a 2 s. c o m if (LOGGER.isDebugEnabled()) { LOGGER.debug("calling update using query: " + queryObj + " and update: " + updateObj + " in collection: " + collectionName); } WriteResult wr; MongoAction mongoAction = new MongoAction(writeConcern, MongoActionOperation.UPDATE, collectionName, entityClass, updateObj, queryObj); WriteConcern writeConcernToUse = prepareWriteConcern(mongoAction); if (writeConcernToUse == null) { wr = collection.update(queryObj, updateObj, upsert, multi); } else { wr = collection.update(queryObj, updateObj, upsert, multi, writeConcernToUse); } handleAnyWriteResultErrors(wr, queryObj, "update with '" + updateObj + "'"); return wr; } }); }
From source file:org.springframework.data.mongodb.core.MongoTemplate.java
protected <T> void doRemove(final String collectionName, final Query query, final Class<T> entityClass) { if (query == null) { throw new InvalidDataAccessApiUsageException("Query passed in to remove can't be null"); }/*from w w w .ja v a2 s.c o m*/ final DBObject queryObject = query.getQueryObject(); final MongoPersistentEntity<?> entity = getPersistentEntity(entityClass); execute(collectionName, new CollectionCallback<Void>() { public Void doInCollection(DBCollection collection) throws MongoException, DataAccessException { DBObject dboq = mapper.getMappedObject(queryObject, entity); WriteResult wr = null; MongoAction mongoAction = new MongoAction(writeConcern, MongoActionOperation.REMOVE, collectionName, entityClass, null, queryObject); WriteConcern writeConcernToUse = prepareWriteConcern(mongoAction); if (LOGGER.isDebugEnabled()) { LOGGER.debug("remove using query: " + dboq + " in collection: " + collection.getName()); } if (writeConcernToUse == null) { wr = collection.remove(dboq); } else { wr = collection.remove(dboq, writeConcernToUse); } handleAnyWriteResultErrors(wr, dboq, "remove"); return null; } }); }