【发布时间】:2018-05-04 00:21:15
【问题描述】:
我使用$nearSphere 创建了一个查询,我意识到我有时会获得巨大数量的结果 (1000+),这会影响我的应用程序的性能。
我尝试使用.limit(),但它似乎被查询忽略了。
我也尝试使用batch_size(),它似乎根本不影响返回结果的数量。
是否有任何技巧或方法来限制返回的结果? 我考虑过使用迭代器执行,这就是我所拥有的,它似乎对性能不太好:
for r in xrange(0,limit):
print res.next()
查询本身非常简单:
query = {"location": {
"$nearSphere": {"$geometry": {"type": "Point", "coordinates"
[geo['lat'], geo['lng']]}, "$maxDistance": 500}}}
coll.find(query).limit(4).batch_size(4)
我在 Azure Cosmos-db 上使用 Mongodb API
【问题讨论】:
标签: mongodb mongodb-query pymongo azure-cosmosdb pymongo-2.x