In a similar manner, as discussed earlier in this chapter, instead of using DBRefs, or unique keys to reference documents across collections, you can simply embed the entire document, or a subset of that document, where the information is needed. Going back to the Book Someplace, Inc. scenario as an example, a Booking document includes fragments of both Customer and Property. To refresh your memory, have a look at the Booking, CustBooking, and PropBooking document structures:
Booking = {
"bookingKey" : <string>,
"customer" : <CustBooking>,
"property" : <PropBooking>,
"bookingInfo" : <BookingInfo>,
"rooms" : [<RoomBooking>,<RoomBooking>,etc.],
"totalPrice" : <float>
}
CustBooking = {
"customerKey" : <string>,
"customerName" : <Name>,
"customerAddr" ...