Diferencia entre revisiones de «Usuario:ManuelRomero/mongoDB»
De WikiEducator
(→Instalación en linux ubuntu) |
|||
Línea 29: | Línea 29: | ||
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list | echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list | ||
</source> | </source> | ||
− | + | *Actualizamos los paquetes | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
<source lang=bash> | <source lang=bash> | ||
sudo apt-get update | sudo apt-get update | ||
<source> | <source> | ||
− | + | *Instalamos mongo | |
− | sudo apt-get install | + | <source lang=bash> |
+ | sudo apt-get install mongodb-org | ||
+ | </source> | ||
===Ejecutando=== | ===Ejecutando=== | ||
Línea 47: | Línea 44: | ||
mongod -version | mongod -version | ||
Documentación | Documentación | ||
− | *Conviene leerse la documentación de http://www.mongodb.org primero, | + | *Conviene leerse la documentación de http://www.mongodb.org primero, se expone de forma muy clara y concisa los difentes conceptos, no obstante realizaremos aquí un resumen que se adapte a lo que queremos utilizar |
*Importante aprender a hacer sentencias con JSON | *Importante aprender a hacer sentencias con JSON | ||
− | * | + | *Considereo muy importante aprender qué estamos haciendo, más que cómo hacemos las llamadas al controlador de bajo nivel... |
− | *Para hacer pruebas, recomendado instalarse MongoDB | + | *Para hacer pruebas, recomendado instalarse MongoDB , Mongochef, Rockmongo ( sería cómo línea de comandos mysql o bien herramientas gráfics tipo phpMyAdmin o workbench, lógicamente con el gestor MongoDB). |
− | + | *Vamos a trabajar con MongoChef , es muy intuitivo y gráfico, y a la vez con MongoDB para ver la línea de comandos | |
+ | {{MRM_Web|Title=Referenicas de instalación | | ||
+ | https://github.com/iwind/rockmongo [https://github.com/iwind/rockmongo Rock_mongo] | ||
+ | https://studio3t.com/ [https://studio3t.com/ MongoChef] | ||
+ | *Otras referencias web | ||
+ | https://scalegrid.io/blog/which-is-the-best-mongodb-gui/ | ||
+ | https://data-flair.training/blogs/rockmongo-in-mongodb/ | ||
+ | |||
+ | }} | ||
===Concepto=== | ===Concepto=== | ||
*Mongo db es una base de datos de documentos '''''Document Database''''' | *Mongo db es una base de datos de documentos '''''Document Database''''' | ||
*En lugar de Base de datos, tablas, columnas y filas, tenemos base de datos, colecciones y documentos | *En lugar de Base de datos, tablas, columnas y filas, tenemos base de datos, colecciones y documentos | ||
+ | |||
+ | |||
+ | |||
*En Mongo una Base de datos es un conjunto de colecciones | *En Mongo una Base de datos es un conjunto de colecciones | ||
*Una coleccion es un conjunto o serie de documentos | *Una coleccion es un conjunto o serie de documentos |
Revisión de 23:05 23 mar 2020
Contenido
Instalación en linux ubuntu
https://docs.mongodb.com/
https://docs.mongodb.com/manual/administration/install-community/
|
- Proceso de instalación en ubuntu14.04
- Importamos la clave pública para garantizar la autentificación de los paquetes
wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
sudo apt-get install gnupg
- Una vez instalado descargamos la clave pública del sitio web y la agregamos a nuestro fichero de claves públicas de claves pública
wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
- Ahora creamos un nuevo repositorio de instalaciones, para lo cual en nuestro directorio de /etc/apt/sources.list.d vamos a agregar un nuevo fichero con ubicaciones de repositorios de dónde instalar paquetes.
- Esto lo hacemos con el siguiente comando
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list
- Actualizamos los paquetes
sudo apt-get update <source> *Instalamos mongo <source lang=bash> sudo apt-get install mongodb-org
Ejecutando
- Arrancamos el servicio
sudo service mongod start
- Miramos la versión instalada (Se habrá instalado la última estable)
mongod -version
Documentación
- Conviene leerse la documentación de http://www.mongodb.org primero, se expone de forma muy clara y concisa los difentes conceptos, no obstante realizaremos aquí un resumen que se adapte a lo que queremos utilizar
- Importante aprender a hacer sentencias con JSON
- Considereo muy importante aprender qué estamos haciendo, más que cómo hacemos las llamadas al controlador de bajo nivel...
- Para hacer pruebas, recomendado instalarse MongoDB , Mongochef, Rockmongo ( sería cómo línea de comandos mysql o bien herramientas gráfics tipo phpMyAdmin o workbench, lógicamente con el gestor MongoDB).
- Vamos a trabajar con MongoChef , es muy intuitivo y gráfico, y a la vez con MongoDB para ver la línea de comandos
https://github.com/iwind/rockmongo Rock_mongo https://studio3t.com/ MongoChef
https://scalegrid.io/blog/which-is-the-best-mongodb-gui/ https://data-flair.training/blogs/rockmongo-in-mongodb/
|
Concepto
- Mongo db es una base de datos de documentos Document Database
- En lugar de Base de datos, tablas, columnas y filas, tenemos base de datos, colecciones y documentos
- En Mongo una Base de datos es un conjunto de colecciones
- Una coleccion es un conjunto o serie de documentos
- Un documento es igual que un array asociativo en php. Puede ser multidimensional
- Una colección es como una tabla; Es un conjunto de documentos e índices
MongoDB y PHP
- Instalar el driver
- Interrogamos al sistema para ver si el driver está instalado
php --re mongo
- En nuestro caso obtenemos la siguiente respuesta, por lo que no está instalado
Exception: Extension mongo does not exist
- Para instalarlo lo podemos hacer de diferentes modos. En nuestro caso usaremos pecl
sudo pecl install mongo
- Es importante leer la última línea de la instación
... You should add "extension=mongo.so" to php.ini
- Pues lo hacemos
- Si posteriormente queremos acutalizar
sudo pecl update-channels sudo pecl upgrade mongo
- No olvidemos rebotar el sistema para que el driver tenga funcionalidad en el mismo
- En mi caso aún no funcionaba y he realizado lo siguiente:
Crear un fichero mongo.ini para que cargue la extension
#/etc/php5/mods-available $ sudo ln -s ../mods-available/mongo.ini mongo.ini
- El contenido del fichero mongo.ini
extension=mongo.so
- Reboto el servicio y verifico que está el módulo
php --re monog
o
php -m
- Nomenglatura
Tabla colección o collection fila o tupla campo valor del campo consulta diccionario o dictionary
- Conectar a la bd
mongo
- seleccionando BD
- Muestra la bd con la que actualmente estoy trabajando, por defecto test
db
- Mostrar todas las bases de datos del sistema que contengan algo de información
show dbs
- Cambiar a una base de datos llamada local
use local
Autorización
- Si usamos autorización ya no cualquiera puede hacer cualquier cambio en la base de datos
- Para autorizarse
db.auth("user","pass");
- (user y pass son las credenciales).
Práctica
- Instalamos mongodb en docker
docker run --name mongodb -p 27017:27017 -v mongodbdata:/data/db mongo
- Instalamos la librería de php para utilizar mongo
sudo apt-get install php-mongodb
- creamos composer.json
{ "require": { "mongodb/mongodb":"^1.0.0" } }
- Orquetamos en el directorio del nuevo proyecto
composer update