Looking for mongodb Answers? Try Ask4KnowledgeBase
Looking for mongodb Keywords? Try Ask4Keywords

MongoDBEmpezando con MongoDB


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 mongod y el cliente se ejecuta con mongo .
  • 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

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()
 

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")
 

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 la test base de datos predeterminada y en la colección denominada world .
  • 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ón next() , recuperamos el primer y único documento y lo guardamos en otra variable js llamada x . Luego imprimió el valor del documento proporcionando la clave.

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
         
    • 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.tgz
         

        En 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 archivo tgz . Dentro de la carpeta, habría una subcarpeta llamada bin que contendría varios archivos binarios junto con mongod y mongo .

      • 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
        # exit
         
      • Para iniciar el servidor, se debe dar el siguiente comando desde la ubicación actual:

        $ ./mongod
         

        Se 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.

        $ ./mongo
         

        Por defecto se conecta a la base de datos de test . Si ves la línea como connecting 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 .

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

    • bin directorio bin contiene varios archivos binarios junto con mongod y mongo . 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 data con una subcarpeta llamada db en 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:

      > mongod
       

      Se iniciaría el servidor en el puerto 27017 por defecto.

    • Abra otro símbolo del sistema y escriba lo siguiente para iniciar el cliente:

      > mongo
       
    • Por defecto se conecta a la base de datos de test . Si ves la línea como connecting 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.list
         
      • en 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.list
         
      • Actualizar la lista de paquetes.

        $ sudo apt-get update
         
      • Instalar 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.asc
         
      • Actualizar la lista de paquetes.

        $ sudo yum update
         
      • Instalar MongoDB

        $ sudo yum install mongodb-org
         

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"
}
>