Vì Bản đồ là bộ sưu tập của riêng chúng, bạn sẽ cần phải lặp lại mọi bộ sưu tập Bản đồ để tìm kiếm Vị trí mà Người chơi của bạn được tham chiếu.
Bạn không thể truy cập trực tiếp vào các tài liệu được nhúng. Bạn phải nhập qua bộ sưu tập và làm việc theo cách của bạn.
Để tránh lặp lại tất cả các Bản đồ, bạn có thể lưu trữ cả tham chiếu Vị trí VÀ tham chiếu Bản đồ trong tài liệu Trình phát của mình. Điều này cho phép bạn xâu chuỗi các tiêu chí chọn Bản đồ của bạn và sau đó là Vị trí bên trong nó. Bạn phải viết mã một phương thức trên lớp Player của mình để xử lý điều này.
def location
self.map.locations.find(self.location_id)
end
Vì vậy, tương tự như cách bạn tự trả lời ngoại trừ bạn vẫn có thể lưu trữ location_id trong tài liệu trình phát của mình thay vì sử dụng các tiêu chuẩn coord.
Một cách khác sẽ là đặt Bản đồ, Vị trí và Người chơi trong bộ sưu tập của riêng họ thay vì nhúng Vị trí vào bộ sưu tập Bản đồ của bạn. Sau đó, bạn có thể sử dụng các mối quan hệ tham chiếu mà không cần làm bất cứ điều gì cầu kỳ ... tuy nhiên, việc bạn thực sự chỉ sử dụng cơ sở dữ liệu phân cấp thích nó là cơ sở dữ liệu quan hệ tại thời điểm này ...