Diferencia entre revisiones de «Usuario:ManuelRomero/mongoDB»

De WikiEducator
Saltar a: navegación, buscar
(MongoDB y PHP)
Línea 60: Línea 60:
 
*Cambiar a una base de datos llamada local
 
*Cambiar a una base de datos llamada local
 
  use 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).

Revisión de 21:19 3 jul 2015

Instalación en linux ubuntu

https://987.tw/2014/01/08/install-mongodb-on-linux-mint-15/

Documentacion

  • En el dropbox hay varios libros, el de MongoDB & PHP es bastante completo.
  • conviene leerse la documentación de http://www.mongodb.org primero, que está bastante bien, y aprender a hacer sentencias con JSON (porque luego en nuestro sistema tenemos nuestro propio controlador para crear las sentencias, etc... e interesa saber más qué estamos haciendo que cómo hacemos luego las llamadas al controlador de bajo nivel...)
  • Para hacer pruebas, recomendado instalarse MongoDB y rockmongo (que es como un phpMyAdmin pero de MongoDB):
http://code.google.com/p/rock-php/wiki/rock_mongo

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
  • 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
  1. 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).