Да, конечно, это возможно. Вы можете использовать любую фильтрацию с $ рядом как обычно:
db.places.find( { latlon: { $near : [50,50] } }, {cid: 1} )
Обновление:
Если вам нужно расстояние, используйте db.runCommand
, если не нужно расстояние - db.collection.find
как обычно.
Из документации :
Команда geoNear имеет добавленные
выгода возврата расстояния
каждый предмет из указанной точки в
результаты, а также некоторые
диагностика для устранения неисправностей.
В db.runCommand
есть параметр query
, вы можете использовать его следующим образом:
db.runCommand( { geoNear : "latlon" , near : [ 50 , 50 ], num : 10,
query : { cid: 1 } } );