如何使用Mongo Engine在Point字段中存储位置并获取位置附近最近的5家餐厅

问题描述 投票:0回答:1

我是mongoengine的新手,并尝试使用mongoengine将位置数据存储到MongoDB中,我在犯一些愚蠢的错误,但无法弄清楚。

我的要求是将位置数据存储到MongoDB中,并在移动设备位置周围1000米半径内获取所有餐厅

我的模型班

from mongoengine import *

class ResLocation(Document): id = IntField(required=True) loc = PointField(required=False) updated_date_time = DateTimeField(default=datetime.datetime.utcnow)

在views.py中保存位置

`def store_restra_location(id, lat, lon):
location = {type: "Point", "coordinates": [lat, lon]}
res_location = ResLocation(id=id, loc=location)
res_location.save()`

我是与mongoengine接触Mongo的完全傻瓜请提供解决方案以实现这一目标

django mongodb mongoengine
1个回答
0
投票

我能够解决问题,我使用了一个名为geojson的库pip install geojson

from geojson import Point

为了保存

location = Point((Decimal(lat), Decimal(lon)))

© www.soinside.com 2019 - 2024. All rights reserved.