我创建了一个查询,$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