Added the following methods to MongoOperations interface and their implementations in MongoTemplate:

public WriteResult updateMulti(final Query query, final Update update, Class<?> entityClass, String collectionName);
public WriteResult updateFirst(Query query, Update update, Class<?> entityClass, String collectionName);
public WriteResult upsert(Query query, Update update, Class<?> entityClass, String collectionName);

The methods calls doUpdate() and allows the caller to pass both the entityClass and the collectionName so that annotations do not have to be used and the pojo class can still be passed. - Chuong Ngo
Added name as an author to MongoTemplate and MongoOperations - Chuong Ngo