This approach is very similar to the one we've just described, except, in this case, the entire document from one collection is embedded directly inside the document from another collection. When using the building block approach, only a sub-class from one collection is inserted into the other collection.
The advantage of the embedded document approach is that there is absolutely no need for a further lookup should additional information from the other collection be needed. The disadvantage of this approach is that we now have duplicate data, which in turn also means potentially wasted space as we probably do not need all of this information all of the time.
As an example, in the case of Book Someplace, for each booking, instead of using the building block approach and storing just fragments of the customer, we could instead embed the entire document for each customer making a booking.