【发布时间】:2014-05-21 08:01:05
【问题描述】:
所以我想在mongodb中对位置数据做一些实验,所以我写了一些python代码来生成一些测试数据。
不幸的是,http://docs.mongoengine.org/apireference.html#mongoengine.fields.PointField 的文档没有明确说明如何格式化输入。
class Location(db.Document):
coord = db.PointField(required=True) # GeoJSON
尝试存储包含 lng/lat 的列表失败:
>>> a = Location(coord=[1,2])
>>> a.save()
mongoengine.errors.OperationError: Could not save document (location object expected, location array not in correct format)
传递 geoJSON 文档会导致同样的错误:
>>> b = Location(coord={ "type" : "Point" ,"coordinates" : [1, 1]})
>>> b.save()
mongoengine.errors.OperationError: Could not save document (location object expected, location array not in correct format)
这应该如何格式化?
注意:之前有人问过类似的问题,但答案没有帮助:Mongoengine PointField gives location object expected, location array not in correct format error
【问题讨论】:
-
所以这可能是由于 Flask-mongoengine 不支持 GeoFields:flask-mongoengine.readthedocs.org/en/latest
标签: python mongodb pymongo mongoengine geojson