Come dichiarato da Sergio Tulentsev, MongoDB ha indici spaziali. Ma non tutti i tipi di geometria possono essere memorizzati. Per quanto ne so, al momento solo i punti possono essere memorizzati. È tuttavia possibile eseguire una query utilizzando un poligono.
Poiché MongoDB è molto flessibile, è possibile memorizzare la geometria come testo, ma anche come oggetto JSON. Ad esempio, è possibile memorizzare una coordinata come: {lon: 52.1234, lat: 14.1245}. Puoi interpretare ciò sulla tua applicazione come preferisci.
Lo svantaggio di questo è che non esiste alcun indice nativo. Se non hai mai bisogno di interrogare in base alla posizione/relazione spaziale, stai bene. Se hai una query basata sulla posizione/relazione spaziale, dovresti scrivere il tuo indice. Può essere una cosa difficile ...
C'è CouchDB che ha un'aggiunta GeoSpatial. Non so come funziona/cosa supporta però.
Un approccio ibrido viene spesso adottato da alcune aziende di grandi dimensioni. Ad esempio, utilizzare MongoDB per archiviare/interrogare i dati normali e PostGIS per archiviare/interrogare i dati geospaziali.
grazie per la vostra risposta, attualmente anch'io sto adottando l'approccio ibrido ma sto considerando di passare a NoSQL completo su questo. –