Поиск с несколькими координатами в геопространственном запросе в mongodb - PullRequest
0 голосов
/ 17 июня 2020

У меня на руке несколько координат, и я пытаюсь выполнить поиск с помощью $ или и $ рядом, но у меня это не работает. Может ли кто-нибудь помочь мне в этом?

Структура документов:

{
    "_id" : "d--FZ1TDp",
    "area" : "Srikakulam H.O",
    "location" : {
        "type" : "Point",
        "coordinates" : [ 
            81.4787, 
            15.8948
        ]
    }
}
{
    "_id" : "Az-3S1TYMH",
    "area" : "Uddavolu",
    "location" : {
        "type" : "Point",
        "coordinates" : [ 
            83.6056, 
            18.5251
        ]
    }
}

{
    "_id" : "A-zFZ1HYpf",
    "area" : "Parampeta",
    "location" : {
        "type" : "Point",
        "coordinates" : [ 
            83.6502, 
            18.5133
        ]
    }
}

И я пытаюсь выполнить запрос, как показано ниже:

db.geo_locations.find(
       {
         location: {
            $near: {
               $geometry: {
                  type : "Point",
                  "$or":[{coordinates : [81.4787, 15.8948]},{coordinates : [79.4623, 18.3898]}]        
               },
               $maxDistance: 100
            }
         }
       }
    )

Но я получаю сообщение об ошибке, как показано ниже:

Error: error: {
    "ok" : 0,
    "errmsg" : "invalid point in geo near query $geometry argument: { type: \"Point\", $or: [ { coordinates: [ 81.4787, 15.8948 ] }, { coordinates: [ 79.4623, 18.3898 ] } ] }  Point must be an array or object",
    "code" : 2,
    "codeName" : "BadValue"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...