Dino Geek, cerca di aiutarti

Come utilizzare le query geospaziali in MongoDB?


Le query geospaziali in MongoDB sono molto utili per effettuare ricerche che implicano dati geografici. Esse permettono ad esempio di trovare tutti i documenti all’interno di un certo raggio o distanza da un punto dato, oppure di stabilire l’ordine dei documenti basandosi sulla loro vicinanza ad un punto.

Per iniziare a utilizzare le query geospaziali in MongoDB, bisogna prima creare un indice geospaziale sul campo che contiene i dati geografici. MongoDB supporta sia gli indici 2d che gli indici 2dsphere.

Supponiamo di avere una collezione chiamata “places” che contiene Documenti con una struttura del genere:

```
{ name: “Central Park”, location: { type: “Point”, coordinates: [-73.97, 40.77] }
}
```

Per creare un indice geospaziale sul campo “location”, si può utilizzare il metodo `createIndex`:

```
db.places.createIndex({location: “2dsphere”})
```

Dopo aver creato l’indice, si possono utilizzare diverse tipologie di query geospaziale.

Ad esempio, per trovare tutti i luoghi all’interno di un raggio di 1 chilometro da un punto dato, si può utilizzare l’operatore `$near`:

```
db.places.find({ location: { $near: { $geometry: { type: “Point” , coordinates: [ -73.97 , 40.77 ] }, $maxDistance: 1000 } }
})
```

Si può anche utilizzare l’operatore `$geoWithin` per trovare tutti i documenti all’interno di una certa regione, definita ad esempio come un poligono:

```
db.places.find({ location:{ $geoWithin: { $geometry: { type: “Polygon” , coordinates: [ [ [ -73.97, 40.77 ], [ -73.97, 40.78 ], [ -73.96, 40.78 ], [ -73.97, 40.77 ] ] ] } } }
})
```

Questi solo alcuni degli esempi su come si possono utilizzare le query geospaziali in MongoDB. Per un elenco completo degli operatori e delle loro opzioni, si può fare riferimento alla documentazione ufficiale di MongoDB.


Genera semplicemente articoli per ottimizzare il tuo SEO
Genera semplicemente articoli per ottimizzare il tuo SEO





DinoGeek offre articoli semplici su tecnologie complesse

Vuoi essere citato in questo articolo? È molto semplice, contattaci a dino@eiki.fr

CSS | NodeJS | DNS | DMARC | MAPI | NNTP | htaccess | PHP | HTTPS | Drupal | WEB3 | LLM | Wordpress | TLD | Nome dominio | IMAP | TCP | NFT | MariaDB | FTP | Zigbee | NMAP | SNMP | SEO | E-Mail | LXC | HTTP | MangoDB | SFTP | RAG | SSH | HTML | ChatGPT API | OSPF | JavaScript | Docker | OpenVZ | ChatGPT | VPS | ZIMBRA | SPF | UDP | Joomla | IPV6 | BGP | Django | Reactjs | DKIM | VMWare | RSYNC | Python | TFTP | Webdav | FAAS | Apache | IPV4 | LDAP | POP3 | SMTP

| Whispers of love (API) | Déclaration d'Amour |






Avviso Legale / Condizioni Generali di Utilizzo