cosmosdb геопространственный поиск возврат бланк
Я использую cosmosDB для поиска в $geowithin, и когда я запускаю запрос в проводнике данных cosmosdb, он работает нормально и возвращает правильный набор. Когда я запускаю его в узле JS, используя MongoClient, я получаю пустой набор.
Это запрос, который я запустил в проводнике данных cosmosdb:
{CurrentLoc: {
$geoWithin: {
$centerSphere: [[-122.0312186,37.33233141], 0.0025232135647961246]
}
}}
Это вернул правильный список документов
Это в моем приложении узла:
var toFind = {
CurrentLoc: {
$geoWithin: {
$centerSphere: [currentLoc, maxDistance]
}
}
}
var query = db.collection('User').find(toFind)
query.toArray(function (err, doc, queryResult) {
logger.debug ('result: ' + JSON.stringify(doc);
})
Это возвращает пустой набор и не возвращает данные. Почему он возвращает разные вещи, а также почему он пуст?
1 ответ
Возможно, вам придется сломать currentLoc
переменная в массив из двух значений, поэтому запрос структурируется так же, как при выполнении через CosmosDB Data Explorer:
[-122.0312186,37.33233141] в$centerSphere: [[-122.0312186,37.33233141], 0.0025232135647961246]
Надеюсь, поможет!