Configurar Laravel con MongoDB
Introducción
Hola bienvenidos a este minitutorial donde
llevaremos a cabo la configuración de un proyecto con el Framework Laravel con una base de datos MongoDB. Cabe
destacar estos procedimientos no son oficiales, pero se han llevado a cabo varios proyectos con está combinación
de tecnología.
Razón de ser
Muchos se preguntarán para que usar MongoDB para un
Framework que está adaptado para Base de datos SQL. Básicamente hay proyectos que pueden iniciar sin una
estructura bien definida, que es lo que pasa cuando trabajamos con SQL, se debe modelar bien el negocio en base
de relaciones y contextos. Para NoSQL, sucede lo contrario (aunque la realidad siempre se debe modelar bien los
datos) y te da mucha flexibilidad en cuanto almacenamiento. Pero con Laravel podemos mantener un orden, pero
manteniendo está flexibilidad, lo que causa tener un proyecto bastante escalable.
¿Que necesitamos para seguir este minitutorial?
Bueno sin más listemos, los componentes necesarios
para llevar con éxito este minitutorial:
- MongoDB instalado en nuestro sistema.
- Poder acceder a MongoDB escribiendo mongo desde la terminal.
- Tener PHP instalado en nuestro sistema.
- Tener la extensión de php_mongodb instalada y habilitada.
- Revisar este enlace, donde está la librería que usaremos para conectar nuestro Laravel a MongoDB, con el fin de saber que versión de Laravel crearemos nuestro proyecto.
- Crear un proyecto Laravel (Cabe destacar aquí no enseñaré como crear un proyecto)
Manos a la obra...
Lo primero que haremos es conectarnos a MongoDB y
crearnos una Base de datos. Desde el terminal escribiendo mongo ingresaremos y haremos lo siguiente:
Creamos y usamos "test_db":
use test_db
Creamos un usuarios "admin" para acceder
luego
a esta base de datos:
db.createUser({
user: 'admin',
pwd: 'admin',
roles: ['readWrite']
});
Si les suelta error de autenticación (puede que en
su instalación o configuración crearon un usuario root, el cual primero deben loguearse con dicho usuario),
hacen lo siguiente:
use admin
db.auth('nombre_root', 'clave_root')
Donde "nombre_root" y "clave_root"
son las credenciales que hayan usado para MongoDB en su configuración. Después de realizar login con el usuario
root, proceden a repetir los pasos anteriores al error de autenticación.
Ahora procedemos a crear un par de documentos en
una colección que nosotros queramos. Un buen ejercicio es seguirme como es la sintaxis, pero hagan la pruebas
con sus propios datos.
Añadimos documentos a la colección "jobs":
db.jobs.insert({name:'Luis', job: 'Developer FullStack'})
db.jobs.insert({name:'Kira', job: 'Mortal God'})
db.jobs.insert({name:'Naruto', job: 'Hokage'})
db.jobs.insert({name:'Hulk', job: 'Marvel Heroe'})
Puede que en su terminal les aparezca algo como
esto, confirmando la inserción
WriteResult({ "nInserted" : 1 })
Para validar que ya estén disponibles, listemos con
la siguiente instrucción
db.jobs.find({})
Les debe de aparecer el siguiente resultado:
{ "_id" : ObjectId("5f1337f596ce903ccd588348"), "name" : "Luis", "job" : "Developer FullStack" }
{ "_id" : ObjectId("5f13380696ce903ccd588349"), "name" : "Kira", "job" : "Mortal God" }
{ "_id" : ObjectId("5f13380b96ce903ccd58834a"), "name" : "Naruto", "job" : "Hokage" }
{ "_id" : ObjectId("5f13381096ce903ccd58834b"), "name" : "Hulk", "job" : "Marvel Heroe" }
Con lo siguiente ya tenemos lista nuestra DB para
realizar pruebas con nuestro proyecto Laravel. Pero eso lo haremos en la siguiente publicación, donde listaremos
nuestra colección.
Aquí les dejo el enlace.
0 comentarios