MongoDB Geoespacial

Esta seção tem por objetivo mostrar as funcionalidades geoespaciais do MongoDB empregadas no auxílio à exibição de mapas do OpenStreetMap.

O MongogDB é um sistema gerenciador de banco de dados de código aberto, orientado a documentos, multi-plataforma, classificado como NãoSQL, que usa documentos do tipo JSON.

Instalação do MongoDB Community Edition no Debian

Para a instalação do MongoDB Community Edition as instruções se encontram na página Install MongoDB Community Edition on Debian. Estas instruções utilizam o pacote oficial mongodb-org, que é mantido e tem suporte da MongoDB Inc. O pacote oficial mongodb-org sempre contém a última versão do MongoDB, e está disponível em seu próprio repositório oficial.

O pacote mongodb fornecido pelo Debian não é mantido por MongoDB Inc. e conflita com o pacote mongodb-org. Caso você tenha o pacote mongodb instalado no seu sistema operacional Debian, você deverá desinstalar o pacote mongodb antes de efetuar as instruções contidas nessa página.

Para instalar o MongoDB Compass, que é a interface gráfica do MongoDB, você deverá baixar o arquivo .deb nesta página e fazer a sua instalação. Aconselho a instalar o arquivo baixado usando o GDebi, uma vez que existem dependências.

Os arquivos fonte estão disponíveis no GitLab no projeto WPMongoDB

Instalação do MongoDB no FreeBSD 13
$ sudo pkg install mongodb49
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
Checking integrity... done (0 conflicting)
The following 1 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
	mongodb49: 4.9.0.r0

Number of packages to be installed: 1

The process will require 165 MiB more space.

Proceed with this action? [y/N]: y
[1/1] Installing mongodb49-4.9.0.r0...
===> Creating groups.
Using existing group 'mongodb'.
===> Creating users
Using existing user 'mongodb'.
===> Creating homedir(s)
[1/1] Extracting mongodb49-4.9.0.r0: 100%
$ sudo service mongod onestart
Starting mongod.
$ sudo service mongod onestatus
mongod is running as pid 1492.
$ sudo service mongod oneenable
mongod enabled in /etc/rc.conf
$ mongo
MongoDB shell version v4.9.0-rc0
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("81e68ac4-f918-43fe-83a5-e9d41b72516a") }
MongoDB server version: 4.9.0-rc0
> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
>^D
bye

$ sudo pkg install mongodb-tools
Password:
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
The following 1 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
	mongodb-tools: 100.3.1

Number of packages to be installed: 1

The process will require 95 MiB more space.
23 MiB to be downloaded.

Proceed with this action? [y/N]: y
[1/1] Fetching mongodb-tools-100.3.1.txz: 100%   23 MiB   3.0MB/s    00:08
Checking integrity... done (0 conflicting)
[1/1] Installing mongodb-tools-100.3.1...
[1/1] Extracting mongodb-tools-100.3.1: 100%

$ sudo pkg install py37-pymongo
Password:
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
The following 1 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
	py37-pymongo: 3.11.3_1

Number of packages to be installed: 1

The process will require 3 MiB more space.
448 KiB to be downloaded.

Proceed with this action? [y/N]: y
[1/1] Fetching py37-pymongo-3.11.3_1.txz: 100%  448 KiB 458.5kB/s    00:01
Checking integrity... done (0 conflicting)
[1/1] Installing py37-pymongo-3.11.3_1...
[1/1] Extracting py37-pymongo-3.11.3_1: 100%

Referências