Developing using spring-data-mongodb
From a developer's perspective, when a program needs to interact with a MongoDB instance, they need to use the respective client APIs for their specific platforms. The trouble with doing this is that we need to write a lot of boilerplate code and it is not necessarily object-oriented. For instance, we have a class called Person with various attributes such as name, age, address, and so on. The corresponding JSON document shares a similar structure to this person class as follows:
{
name:"…",
age:..,
address:{lineOne:"…", …}
}However, to store this document, we need to convert the Person class to DBObject, which is a map with key and value pairs. What is really needed is to let us persist this Person class itself as an object in the database without having to convert it to DBObject.
Additionally, some of the operations such as searching by a particular field of a document, saving an entity, deleting an entity, searching by the ID, and so on are pretty...