在mongodb

时间:2018-06-05 14:00:05

标签: mongodb mongoose geojson

情况

假设我的数据库中有两个集合:citiesevents

cities集合存储有关世界城市的数据,每个城市文档都包含loc GeoJson字段,如{"type": "Point", "geometry": [lng, lat]},以便我可以使用geoNear等地理空间函数查询mongodb。

events集合存储有关城市中发生的事件的数据。因此,每个事件文档都包含一个city字段,其中包含对城市对象的引用。使用ObjectId引用与嵌入城市数据的动机是每个城市的事件数量可能非常大。

问题

如果我想要一个事件的地理空间数据,我可以查询events集合并填充(例如使用mongoose)city字段。但我不能(我想)在events上利用mongodb地理空间功能,因为他们没有GeoJson字段。

这个设计有问题吗?我必须重新设计数据库,或者有一些我不知道的mongodb(或mongoose)功能来实现这个目标吗?最佳实践怎么样?

0 个答案:

没有答案