mongodb中对GeoJson对象的引用
形势 假设我的数据库中有两个集合:mongodb中对GeoJson对象的引用,mongodb,mongoose,geojson,Mongodb,Mongoose,Geojson,形势 假设我的数据库中有两个集合:城市和事件 cities集合存储有关世界城市的数据,每个城市文档都包含一个locGeoJson字段,如{“type”:“Point”,“geometry”:[lng,lat]},这样我就可以使用geoNear等地理空间功能查询mongodb events集合存储有关城市中发生的事件的数据。因此,每个事件文档都包含一个引用城市对象的city字段。使用ObjectId引用与嵌入城市数据相比,每个城市的事件数量可能非常大 问题 如果我需要某个事件的地理空间数据,我可以
城市
和事件
cities
集合存储有关世界城市的数据,每个城市文档都包含一个loc
GeoJson字段,如{“type”:“Point”,“geometry”:[lng,lat]}
,这样我就可以使用geoNear等地理空间功能查询mongodb
events
集合存储有关城市中发生的事件的数据。因此,每个事件文档都包含一个引用城市对象的city
字段。使用ObjectId引用与嵌入城市数据相比,每个城市的事件数量可能非常大
问题
如果我需要某个事件的地理空间数据,我可以查询events
集合并填充city
字段(例如使用mongoose)。但我不能(我想)在事件上利用mongodb地理空间功能,因为它们没有GeoJson字段
这个设计有什么问题吗?我必须重新设计数据库,或者有一些我不知道的mongodb(或mongoose)功能来实现这一点?最佳实践是什么?您希望如何“利用mongodb地理空间功能”?我很确定您可以在单个管道中组合$geoNear和$lookup,但这个问题应该有一个可解决的问题。你想实现什么?是的,对不起,我是一个db初学者,聚合管道正是我不知道的mongodb。