Я начал работать с MongoDB API, потому что мы используем Azure Cosmos DB.
Пробовал примеры использования $ near в MongoDB с базовой структурой {key: "A": localtion: {type: "Point", координаты: [1,2]}} и работает хорошо. Проблема в том, когда мне нужно использовать массив локаций.
Я пытаюсь выполнить этот запрос без результата. Что я делаю плохо?
db.places.insert( {
id:1,
name: "AAAAAAAAAAA",
locals:[
{
location: { type: "Point", coordinates: [-73.9928, 40.7191 ] },
}
],
category: "Parks"
} );
db.places.insert( {
id:2,
name: "BBBBBBBBBBB",
locals:[
{
location: { type: "Point", coordinates: [-73.9928, 40.7193 ] },
}
],
category: "Parks"
} );
db.places.insert( {
id:3,
name: "CCCCCCCCCCCCC",
locals:[
{
location: { type: "Point", coordinates: [ -73.9375, 40.8303 ] },
}
],
category: "Parks"
} );
//Create index
db.places.createIndex({ "locals.location" : "2dsphere" })
//Query without result
db.places.find(
{
"locals.location":
{ $near:
{
$geometry: { type: "Point", coordinates: [ -73.9375, 40.8303 ] },
$minDistance: 1000,
$maxDistance: 5000
}
}
}
)
В этих местах много местных жителей, поэтому у меня внутри может быть много объектов.
Надеюсь, кто-нибудь мне поможет.
Приветствие.