У меня есть коллекция в Azure Cosmosdb (MongoDB API), в которой есть пакет документов, содержащих геопространственные данные. Когда я запрашиваю базу данных для всех точек в определенном многоугольнике, использование оболочки MongoDB возвращает точки правильно, но использование pymon go ничего не дает мне. Более конкретно:
в оболочке mongodb
globaldb:PRIMARY> db.test_collection.find( { "Location" : { "$geoWithin" : { "$geometry" : { "type" : "Polygon" ,"coordinates" :[ [ [ 0 , 0 ] , [ 41 , 0 ] , [41,6],[0,6], [0,0] ] ] } } } } )
{ "_id" : ObjectId("5e395a9929ae6f6ec66bc97e"), "info" : "test_info", "region" : "region", "Location" : { "type" : "Point", "coordinates" : [ 40, 5 ] } }
{ "_id" : ObjectId("5e395ab895c1327b1c4568b4"), "info" : "test_info", "region" : "region", "Location" : { "type" : "Point", "coordinates" : [ 40, 5 ] } }
{ "_id" : ObjectId("5e395b6bd76420859e134e26"), "info" : "test_info", "region" : "region", "Location" : { "type" : "Point", "coordinates" : [ 40, 5 ] } }
Записи правильно возвращаются
в python (pymon go)
cur_collection = db.test_collection
points_in = cur_collection.find(
{ "Location" :
{ "$geoWithin" :
{ "$geometry" : { "type" : "Polygon",
"coordinates" :
[ [
[ 0 , 0 ] ,
[ 41 ,0 ] ,
[ 41 ,6 ],
[ 0, 6],
[ 0, 0]
] ]
}
}
}
}
)
for point in points_in:
print(point)
ничего не дает.
Что я здесь не так делаю?