Ссылка на объект GeoJson в mongodb - PullRequest
0 голосов
/ 05 июня 2018

Ситуация

Предположим, у меня есть две коллекции в моей базе данных: cities и events.

Коллекция cities хранит данные о городах мираи каждый городской документ содержит поле loc GeoJson, например {"type": "Point", "geometry": [lng, lat]}, так что я могу запросить mongodb с геопространственными функциями, такими как geoNear.

Коллекция events хранит данные о событиях, которые происходят в городах.Таким образом, каждый документ события содержит поле city со ссылкой на городской объект.Использование ссылок ObjectId против встраивания данных города мотивируется тем фактом, что число событий в городе может быть очень большим.

Проблема

Если мне нужны геопространственные данные длясобытие, которое я могу запросить events collection и заполнить (используя, например, mongoose) поле city.Но я не могу (я полагаю) использовать геопространственную функциональность mongodb на events, потому что у них нет поля GeoJson.

Что-то не так с этим дизайном?Я должен перепроектировать базу данных или есть какая-то функциональность mongodb (или mongoose), которой я не знаю, чтобы добиться этого?А как насчет лучших практик?

...