The third approach, most commonly used by MongoDB developers, is to use document references. In this approach, instead of storing a partial document (that is, a building block), or instead of storing an entire document (embedded document), you only store the equivalent of a foreign key, which then allows you to perform a secondary lookup to retrieve the needed information.
Although you could conceivably store the _id (ObjectID instance) field as the reference, it is considered a best practice in the MongoDB world to have a developer-generated unique key of some sort, which can be used to perform the lookup.
As an example, when storing loan information, instead of storing partial or complete borrower and lender information, just store the userKey fields. This can then be used in conjunction with find() to retrieve lender or borrower information. You will note that this is the approach taken with BigLittle Micro Finance Ltd. When creating a loan document, the userKey...