首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在motorengine中创建具有geopoint属性的文档类

如何在motorengine中创建具有geopoint属性的文档类
EN

Stack Overflow用户
提问于 2016-08-23 10:44:57
回答 1查看 55关注 0票数 0

Motorengine是一个很棒的库,可以用mongodb进行异步数据库操作。但是我想知道如何使用motorengine进行地理空间查询。因为该库不支持地理字段。我的选择是使用马达2dspear索引。但如果我能在发动机的帮助下找到一种方法,那就太好了。

有谁能帮我一下吗。

EN

回答 1

Stack Overflow用户

发布于 2016-08-25 02:37:50

我像这样解决了这个问题。

代码语言:javascript
复制
from motorengine.document import Document
import pymongo


class BaseDocument(Document):
      import pymongo

      ASCENDING = pymongo.ASCENDING
      DESCENDING = pymongo.DESCENDING
      GEO2D = pymongo.GEOSPHERE

      def __init__(self, alias=None, **kwargs):
            indexes = self.__indexes__ if hasattr(self, "__indexes__") else []
            if len(indexes) == 0:
               return

            def ensure_index(index, **spec):
               self.objects.coll(alias).ensure_index(index, **spec)

            for index_spec in indexes:
               ensure_index([index_spec])

            super(BaseDocument, self).__init__(**kwargs)

以及它的使用索引。

代码语言:javascript
复制
class Team(BaseDocument):

     __indexes__ = [('location', BaseDocument.GEO2D)]

     name = StringField(required=True)
     location = GeoPointField()
     contact = StringField(required=True)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39091522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档