Primeros pasos con MongoDB

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

>load("myjsfile.js")

Hacer que la salida de find sea 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 vía find, 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 evitar esto y hacerlos legibles, use la función bonita().

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

Términos complementarios

Términos de SQL Términos de MongoDB
Base de datos Base de datos
Tabla Colección
Entidad / Fila Documento
Columna Clave / Campo
Unir tabla Documentos incrustados
Clave principal Clave principal (Clave predeterminada _id proporcionada por el mismo mongodb)

1: https://docs.mongodb.com/manual/tutorial/model-embedded-one-to-many-relationships- between-documents/ 2: https://docs.mongodb.com/manual/indexes/#default-id-index

Instalación

Para instalar MongoDB, siga los pasos a continuación:

  • Para Mac OS:

    • There are two options for Mac OS: manual install or homebrew.
    • Installing with homebrew:
      • Type the following command into the terminal:
        $ brew install mongodb
        
    • Installing manually:
      • Download the latest release aquí. Asegúrate de que estás descargando el archivo apropiado, verifique especialmente si su el tipo de sistema operativo es de 32 bits o de 64 bits. El archivo descargado está en formato tgz.

      • Go to the directory where this file is downloaded. Then type the following command:

        $ tar xvf mongodb-osx-xyz.tgz
        

        Instead of xyz, there would be some version and system type information. The extracted folder would be same name as the tgz file. Inside the folder, their would be a subfolder named bin which would contain several binary file along with mongod and mongo.

      • By default server keeps data in folder /data/db. So, we have to create that directory and then run the server having the following commands:

        $ sudo bash
        # mkdir -p /data/db
        # chmod 777 /data
        # chmod 777 /data/db
        # exit
        
      • To start the server, the following command should be given from the current location:

        $ ./mongod
        

        It would start the server on port 27017 by default.

      • To start the client, a new terminal should be opened having the same directory as before. Then the following command would start the client and connect to the server.

        $ ./mongo
        

        By default it connects to the test database. If you see the line like connecting to: test. Then you have successfully installed MongoDB. Congrats! Now, you can test [Hello World][3] to be more confident.

  • Para ventanas:

    • Download the latest release aquí. Asegúrate de que estás descargando el archivo apropiado, verifique especialmente si su el tipo de sistema operativo es de 32 bits o de 64 bits.

    • The downloaded binary file has extension exe. Run it. It will prompt an installation wizard.

    • Click Next.

    • Accept the licence agreement and click Next.

    • Select Complete Installation.

    • Click on Install. It might prompt a window for asking administrator’s permission. Click Yes.

    • After installation click on Finish.

    • Now, the mongodb is installed on the path C:/Program Files/MongoDB/Server/3.2/bin. Instead of version 3.2, there could be some other version for your case. The path name would be changed accordingly.

    • bin directory contain several binary file along with mongod and mongo. To run it from other folder, you could add the path in system path. To do it:

      • Right click on My Computer and select Properties.
      • Click on Advanced system setting on the left pane.
      • Click on Environment Variables… under the Advanced tab.
      • Select Path from System variables section and click on Edit….
      • Before Windows 10, append a semi-colon and paste the path given above. From Windows 10, there is a New button to add new path.
      • Click OKs to save changes.
    • Now, create a folder named data having a sub-folder named db where you want to run the server.

    • Start command prompt from their. Either changing the path in cmd or clicking on Open command window here which would be visible after right clicking on the empty space of the folder GUI pressing the Shift and Ctrl key together.

    • Write the command to start the server:

      > mongod
      

      It would start the server on port 27017 by default.

    • Open another command prompt and type the following to start client:

      > mongo
      
    • By default it connects to the test database. If you see the line like connecting to: test. Then you have successfully installed MongoDB. Congrats! Now, you can test [Hello World][4] to be more confident.

  • Para Linux: Casi igual que Mac OS excepto que se necesita un comando equivalente.

    • For Debian-based distros (using apt-get):
      • Import MongoDB Repository key.

        $ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
        gpg: Total number processed: 1\
        gpg:               imported: 1  (RSA: 1)
        
      • Add repository to package list on 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
        
      • on 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
        
      • Update package list.

        $ sudo apt-get update
        
      • Install MongoDB.

        $ sudo apt-get install mongodb-org
        
    • For Red Hat based distros (using yum):
      • use a text editor which you prefer.

        $ vi /etc/yum.repos.d/mongodb-org-3.4.repo

      • Paste following text.

        [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
        
      • Update package list.

        $ sudo yum update
        
      • Install MongoDB

        $ sudo yum install mongodb-org
        

[3]: https://www.wikiod.com/es/mongodb/primeros-pasos-con-mongodb#Hola Mundo [4]: https://www.wikiod.com/es/mongodb/primeros-pasos-con-mongodb#Hola Mundo

Comandos básicos en mongo shell

Mostrar todas las bases de datos disponibles:

show dbs;

Seleccione una base de datos en particular para acceder, p. mibd. Esto creará mydb si aún no existe:

use mydb;

Mostrar todas las colecciones en la base de datos (asegúrese de seleccionar una primero, ver 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 actualmente seleccionada, use el comando db

> db
mydb

El comando db.dropDatabase() se usa para eliminar una base de datos existente.

db.dropDatabase()

Hola Mundo

Después del proceso de instalación, se deben ingresar las siguientes líneas 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 {clave: valor} en la base de datos predeterminada test y en la colección denominada world.
  • En la segunda línea recuperamos los datos que acabamos de insertar. Los datos recuperados se guardan en una variable 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.