У меня есть геопространственная коллекция, которая хорошо работает - данный простой запрос и возвращаемые данные, как это:Фильтрация данных геопространственных данных mongodb?
> distance = db.runCommand({ geoNear : "geodata_geo", near : [-121.8993988, 36.9771729], spherical : true, maxDistance : range/earthRadius, num : 3 }).results;
[
{
"dis" : 0,
"obj" : {
"CountryID" : 231,
"_id" : ObjectId("4ecea8348044dc9bdd21eda3"),
"cityCode" : "3183347",
"cityID" : 952717,
"cityName" : "Aptos",
"countryCode" : "US",
"countryName" : "United States",
"countyCode" : "US005044",
"countyID" : 5932,
"countyName" : "Santa Cruz",
"**id_geo**" : 952717,
"lat" : 36.9771728515625,
"loc" : {
"lon" : -121.8993988,
"lat" : 36.9771729
},
"lon" : -121.89939880371094,
"regionCode" : "NAm",
"regionID" : 1078,
"regionName" : "North America",
"stateCode" : "US005",
"stateID" : 3725,
"stateName" : "California"
}
},
Есть ли способ, чтобы сформировать этот запрос, так что я только вернуть (список) значения id_geo из в коллекции? Я пробовал несколько вариантов, но никто, кажется, не дает мне то, что мне нужно ... Я знаю, что могу справиться с этим программно, но задавался вопросом, было ли это mongopossible ...
спасибо!
спасибо за ответ. Мне нужен был geoNear, чтобы получить distanceFrom, возвращенный в запросе, поскольку это должно быть возвращено обратно в интерфейс. Я просто обработаю его программно в другом потоке, когда мне нужны эти данные. Две птицы, два камня. ... Еще раз спасибо –
В этом случае вам действительно нужно geoNear. Я полагаю, что единственное, что вы можете сделать, это обработать его, как вы предлагаете. Ну ... это и зарегистрировать его как запрос расширения. – mdahlman