Vzhledem k tomu, že Mapy jsou jejich vlastní sbírkou, budete muset iterovat každou sbírku map, která hledá umístění, na které se váš přehrávač odkazuje.
K vloženým dokumentům nemáte přímý přístup. Musíte vstoupit skrz sbírku a propracovat se dolů.
Chcete-li se vyhnout opakování všech map, můžete do dokumentu přehrávače uložit jak odkaz na umístění, tak odkaz na mapu. To vám umožní zřetězit kritéria, která vyberou vaši mapu a poté umístění v ní. Abyste to zvládli, musíte ve své třídě Player nakódovat metodu.
def location
self.map.locations.find(self.location_id)
end
Tedy podobně, jako jste si sami odpověděli, s tím rozdílem, že místo použití atributů souřadnic můžete uložit location_id do dokumentu přehrávače.
Dalším způsobem by bylo umístit Mapy, Místa a Hráče do jejich vlastních sbírek namísto vkládání Umístění do vaší sbírky map. Pak byste mohli používat referenční vztahy, aniž byste dělali cokoli fantastického... ale ve skutečnosti používáte pouze hierarchickou databázi a v tuto chvíli se vám líbí, že je to relační databáze...