Don't know much about MongoRepository
but in the official driver you can:
- have a document that holds an ID to a different document in another collection (basically a foreign key) but that means you have to do a "join on client side", selecting the first item and using the ID selecting the other one.
- You can store the second item (Report in this case) completely inside the first one. That means it's an inner document that sits on the same collection as it's parent and you can select both of them together in a single call.
MongoRepository
probably doesn't add much to this. It can only abstract that logic away from you...