我使用pymongo查询一个区域中的所有项目(实际上是查询地图上一个区域中的所有场馆)。我以前用db.command(SON())
在一个球形区域中搜索,这个区域可以返回一个字典,字典中有一个名为results
的键,它包含了地点。现在我需要在一个正方形区域中搜索,建议使用db.places.find
,但是,这会返回一个pymongo.cursor.Cursor
类,我不知道如何从中提取场地结果。
是否有人知道我应该将光标转换成dict并提取结果,还是使用其他方法查询正方形区域中的项? 顺便说一下,db是pymongo.database.database类
代码如下:
>>> import pymongo
>>> db = pymongo.MongoClient(host).PSRC
>>> resp = db.places.find({"loc": {"$within": {"$box": [[ll_lng,ll_lat], [ur_lng,ur_lat]]}}})
>>> for doc in resp:
>>> print(doc)
我有ll_lng,ll_lat,ur_lng和ur_lat的值,使用这些值,但它不会从这些代码中打印任何内容
我建议创建一个列表并在其中添加词典。
现在x是一个字典列表,您可以用通常的python方式操作它。
^{} 方法返回一个^{} 实例,该实例允许您遍历所有匹配的文档。
要获取与给定条件匹配的第一个文档,您需要使用^{} 。
find_one
的结果是一个字典。您始终可以使用
list
构造函数返回集合中所有文档的列表,但请记住,这将在内存中加载所有数据,并且可能不是您想要的那样。如果需要重用光标并且有充分的理由不使用^{} ,则应该这样做
演示使用
find
:演示使用
find_one
:容易
给你
相关问题 更多 >
编程相关推荐