MongoDB Tutorial
Empezando con MongoDB
Buscar..
Observaciones
- Los datos en el mundo comenzaron a crecer enormemente después de que las aplicaciones móviles ingresaran al mercado. Esta enorme cantidad de datos se volvió casi imposible de manejar con la base de datos relacional tradicional: SQL. Las bases de datos NoSQL se introducen para manejar aquellos datos en los que se obtiene mucha más flexibilidad, como el número variable de columnas para cada información.
- MongoDB es una de las principales bases de datos NoSQL. Cada colección contiene una serie de documentos JSON. Cualquier modelo de datos que se pueda expresar en un documento JSON se puede almacenar fácilmente en MongoDB.
- MongoDB es una base de datos cliente-servidor. El servidor normalmente se ejecuta con el archivo binario
mongody el cliente se ejecuta conmongo. - No hay una operación de unión en MongoDB antes de v.3.2, por varias razones filosóficas y pragmáticas . Pero el shell Mongo admite javascript, por lo que si $ búsqueda no está disponible, uno puede simular operaciones de unión en documentos en javascript antes de insertar.
- Para ejecutar una instancia en un entorno de producción, se recomienda encarecidamente seguir la Lista de verificación de operaciones .
Versiones
| Versión | Fecha de lanzamiento |
|---|---|
| 3.4 | 2016-11-29 |
| 3.2 | 2015-12-08 |
| 3.0 | 2015-03-03 |
| 2.6 | 2014-04-08 |
| 2.4 | 2013-03-19 |
| 2.2 | 2012-08-29 |
| 2.0 | 2011-09-12 |
| 1.8 | 2011-03-16 |
| 1.6 | 2010-08-31 |
| 1.4 | 2010-03-25 |
| 1.2 | 2009-12-10 |
Instalación
Para instalar MongoDB, siga los pasos a continuación:
Para Mac OS:
- Hay dos opciones para Mac OS: instalación manual o homebrew .
- Instalación con homebrew :
- Escriba el siguiente comando en el terminal:
$ brew install mongodb
- Escriba el siguiente comando en el terminal:
- Instalación manual:
Descarga la última versión aquí . Asegúrese de que está descargando el archivo apropiado, compruebe especialmente si su tipo de sistema operativo es de 32 bits o de 64 bits. El archivo descargado está en formato
tgz.Ir al directorio donde se descarga este archivo. Luego escribe el siguiente comando:
$ tar xvf mongodb-osx-xyz.tgzEn lugar de
xyz, habría alguna información sobre la versión y el tipo de sistema. La carpeta extraída tendría el mismo nombre que el archivotgz. Dentro de la carpeta, habría una subcarpeta llamadabinque contendría varios archivos binarios junto conmongodymongo.Por defecto el servidor mantiene los datos en la carpeta
/data/db. Entonces, tenemos que crear ese directorio y luego ejecutar el servidor con los siguientes comandos:$ sudo bash # mkdir -p /data/db # chmod 777 /data # chmod 777 /data/db # exitPara iniciar el servidor, se debe dar el siguiente comando desde la ubicación actual:
$ ./mongodSe iniciaría el servidor en el puerto 27017 por defecto.
Para iniciar el cliente, se debe abrir una nueva terminal con el mismo directorio que antes. Luego, el siguiente comando iniciaría el cliente y se conectaría al servidor.
$ ./mongoPor defecto se conecta a la base de datos de
test. Si ves la línea comoconnecting to: test. Entonces usted ha instalado con éxito MongoDB. Felicidades Ahora, puedes probar Hello World para tener más confianza.
Para ventanas:
Descarga la última versión aquí . Asegúrese de que está descargando el archivo apropiado, compruebe especialmente si su tipo de sistema operativo es de 32 bits o de 64 bits.
El archivo binario descargado tiene extensión
exe. Ejecutarlo. Se le pedirá un asistente de instalación.Haga clic en siguiente .
Acepte el acuerdo de licencia y haga clic en Siguiente .
Seleccione Instalación completa .
Haga clic en Instalar . Puede que aparezca una ventana para pedir permiso al administrador. Haga clic en Sí .
Después de la instalación, haga clic en Finalizar .
Ahora, el mongodb está instalado en la ruta
C:/Program Files/MongoDB/Server/3.2/bin. En lugar de la versión 3.2, podría haber alguna otra versión para su caso. El nombre de la ruta se cambiaría en consecuencia.bindirectoriobincontiene varios archivos binarios junto conmongodymongo. Para ejecutarlo desde otra carpeta, puede agregar la ruta en la ruta del sistema. Para hacerlo:- Haga clic derecho en Mi PC y seleccione Propiedades .
- Haga clic en Configuración avanzada del sistema en el panel izquierdo.
- Haga clic en Variables de entorno ... en la pestaña Opciones avanzadas .
- Seleccione Ruta en la sección de variables del sistema y haga clic en Editar ....
- Antes de Windows 10, agregue un punto y coma y pegue la ruta indicada anteriormente. Desde Windows 10, hay un botón Nuevo para agregar una nueva ruta.
- Haga clic en s para guardar los cambios.
Ahora, cree una carpeta llamada
datacon una subcarpeta llamadadben la que desea ejecutar el servidor.Iniciar el símbolo del sistema desde su. Cambiando la ruta en cmd o haciendo clic en Abrir ventana de comando aquí, que sería visible después de hacer clic derecho en el espacio vacío de la carpeta GUI presionando las teclas Mayús y Ctrl juntas.
Escriba el comando para iniciar el servidor:
> mongodSe iniciaría el servidor en el puerto 27017 por defecto.
Abra otro símbolo del sistema y escriba lo siguiente para iniciar el cliente:
> mongoPor defecto se conecta a la base de datos de
test. Si ves la línea comoconnecting to: test. Entonces usted ha instalado con éxito MongoDB. Felicidades Ahora, puedes probar Hello World para tener más confianza.
Para Linux: casi lo mismo que Mac OS, excepto que se necesita un comando equivalente.
- Para las distribuciones basadas en Debian (usando
apt-get):Importar clave de repositorio MongoDB.
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927 gpg: Total number processed: 1\ gpg: imported: 1 (RSA: 1)Agregue repositorio a la lista de paquetes en Ubuntu 16.04 .
$ echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.listen Ubuntu 14.04 .
$ echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.listActualizar la lista de paquetes.
$ sudo apt-get updateInstalar MongoDB.
$ sudo apt-get install mongodb-org
- Para distribuciones basadas en Red Hat (usando
yum):Usa un editor de texto que prefieras.
$ vi /etc/yum.repos.d/mongodb-org-3.4.repo
Pega el siguiente texto.
[mongodb-org-3.4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.4.ascActualizar la lista de paquetes.
$ sudo yum updateInstalar MongoDB
$ sudo yum install mongodb-org
- Para las distribuciones basadas en Debian (usando
Hola Mundo
Después del proceso de instalación, las siguientes líneas deben ingresarse en mongo shell (terminal de cliente).
> db.world.insert({ "speech" : "Hello World!" });
> cur = db.world.find();x=cur.next();print(x["speech"]);
Hola Mundo!
Explicación:
- En la primera línea, hemos insertado un documento emparejado
{ key : value }en latestbase de datos predeterminada y en la colección denominadaworld. - En la segunda línea recuperamos los datos que acabamos de insertar. Los datos recuperados se mantienen en una variable de javascript llamada
cur. Luego, mediante la funciónnext(), recuperamos el primer y único documento y lo guardamos en otra variable js llamadax. Luego imprimió el valor del documento proporcionando la clave.
Terminos Complementarios
| Términos SQL | Términos de MongoDB |
|---|---|
| Base de datos | Base de datos |
| Mesa | Colección |
| Entidad / Fila | Documento |
| Columna | Clave / Campo |
| Unirse a la mesa | Documentos incrustados |
| Clave primaria | Clave principal ( Clave predeterminada _id proporcionada por mongodb en sí) |
Ejecución de un archivo JavaScript en MongoDB
./mongo localhost:27017/mydb myjsfile.js
Explicación: esta operación ejecuta el script myjsfile.js en un shell mongo que se conecta a la base de datos mydb en la instancia mongod accesible a través de la interfaz localhost en el puerto 27017 . localhost:27017 no es obligatorio ya que este es el puerto predeterminado que usa mongodb .
Además, puede ejecutar un archivo .js desde la consola de mongo .
>load("myjsfile.js")
Haciendo la salida de encontrar legible en shell
Agregamos tres registros a nuestra prueba de colección como:
> db.test.insert({"key":"value1","key2":"Val2","key3":"val3"})
WriteResult({ "nInserted" : 1 })
> db.test.insert({"key":"value2","key2":"Val21","key3":"val31"})
WriteResult({ "nInserted" : 1 })
> db.test.insert({"key":"value3","key2":"Val22","key3":"val33"})
WriteResult({ "nInserted" : 1 })
Si los vemos a través de encontrar, se verán muy feos.
> db.test.find()
{ "_id" : ObjectId("5790c5cecae25b3d38c3c7ae"), "key" : "value1", "key2" : "Val2
", "key3" : "val3" }
{ "_id" : ObjectId("5790c5d9cae25b3d38c3c7af"), "key" : "value2", "key2" : "Val2
1", "key3" : "val31" }
{ "_id" : ObjectId("5790c5e9cae25b3d38c3c7b0"), "key" : "value3", "key2" : "Val2
2", "key3" : "val33" }
Para solucionar esto y hacer que sean legibles, use la función pretty ().
> db.test.find().pretty()
{
"_id" : ObjectId("5790c5cecae25b3d38c3c7ae"),
"key" : "value1",
"key2" : "Val2",
"key3" : "val3"
}
{
"_id" : ObjectId("5790c5d9cae25b3d38c3c7af"),
"key" : "value2",
"key2" : "Val21",
"key3" : "val31"
}
{
"_id" : ObjectId("5790c5e9cae25b3d38c3c7b0"),
"key" : "value3",
"key2" : "Val22",
"key3" : "val33"
}
>
Comandos básicos en mongo shell
Mostrar todas las bases de datos disponibles:
show dbs;
Seleccione una base de datos particular para acceder, por ejemplo, mydb . Esto creará mydb si aún no existe:
use mydb;
Muestre todas las colecciones en la base de datos (asegúrese de seleccionar una, vea arriba):
show collections;
Muestra todas las funciones que se pueden utilizar con la base de datos:
db.mydb.help();
Para verificar su base de datos seleccionada actualmente, use el comando db
> db
mydb
db.dropDatabase() comando db.dropDatabase() se usa para eliminar una base de datos existente.
db.dropDatabase()