У меня на руке несколько координат, и я пытаюсь выполнить поиск с помощью $ или и $ рядом, но у меня это не работает. Может ли кто-нибудь помочь мне в этом?
Структура документов:
{
"_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"
}