Recomendaría usar Plantilla Mongo y serializar y desviar usando Gson /Jackson .
Mongo Template tiene métodos CRUD que toman el nombre de la colección y la entidad DBObject, que es muy similar a si usara directamente el controlador mongo java.
Por lo tanto, tendrá json payload y usará una de las bibliotecas de mapeadores para convertirlos en Map
.
Algo como
Deserializar
ObjectMapper mapper = new ObjectMapper();
TypeReference<HashMap<String,Object>> typeRef
= new TypeReference<HashMap<String,Object>>() {};
HashMap<String,Object> map = mapper.readValue(jsonpayload, typeRef);
Objeto DB
DBObject dbObject = new BasicDBObject(map);
Plantilla Mongo
mongoTemplate.save(dbObject, "collectionname");
Puede hacer algo similar para todas las demás operaciones CRUD.