I'm always sceptical of "complete" or "definitive" books; however there aren't that many to choose from on this subject, and I wanted a general text rather than one focusing on a particular area. It's a disarmingly lightweight book and read. The NoSQL approach in this case is to do one thing (index-based lookups) and do it well. CouchDB views, which are their implementation of MapReduce, are simply explained, as are data validation and (rather slimly) security. Some of the details are quite likely out of date: the book dates from early 2010 and I obtained it second-hand; but hopefully the principles and techniques remain.