This chapter will introduce you to the Spring Data MongoDB project. We will take
a brief look at MongoDB as a document store and explain you how to set it up
and configure it to be usable with our sample project. A general overview of
MongoDB concepts and the native Java
driver API will round off the introduction. After that, we’ll discuss the
Spring Data MongoDB module’s features, the Spring namespace, how we model
the domain and map it to the store, and how to read and write data using the
MongoTemplate, the core store interaction API. The
chapter will conclude by discussing the implementation of a data access
layer for our domain using the Spring Data repository abstraction.
MongoDB is a document data store. Documents are structured data—basically maps—that can have primitive values, collection values, or even nested documents as values for a given key. MongoDB stores these documents in BSON, a binary derivative of JSON. Thus, a sample document would look something like Example 6-1.
Example 6-1. A sample MongoDB document
As you can see, we have primitive
addresses field has an array value that in turn contains a
nested address document. Documents are organized in
collections, which are arbitrary containers for a set of documents. Usually, you will keep documents of the same ...