25 - MongoDB shell - características

Desde los primeros conceptos hemos utilizado el programa MongoDB shell para comunicarnos con nuestro servidor.

En MongoDB shell podemos ejecutar todas las funciones del lenguaje JavaScript, para comprobar esto ejecutemos:

x=1;
x++;
x;
cubo=Math.pow(x,3)
cubo;

Tenemos como resultado al ejecutar el bloque de comandos JavaScript en el MongoDB shell:

MongoDB shell JavaScript

Podemos incluso codificar una función y luego llamarla:

function mayor(x1,x2) {
  if (x1>x2)
    return x1;
  else
    return x2;
};

mayor(10,3);
mayor(6,34);

Tenemos como resultado al ejecutar el bloque de comandos JavaScript en el MongoDB shell:

MongoDB shell JavaScript

Personalización del prompt de MongoDB shell

Ahora que sabemos que tenemos un entorno en JavaScript en MongoDB shell podemos personalizar por ejemplo el shell modificando la variable 'prompt' asignando una función:

prompt = function() {
  return (new Date())+"> ";
};

El prompt de MongoDB shell nos muestra la fecha y hora actual:

MongoDB shell JavaScript prompt

Algo más útil es que el prompt muestre el nombre de la base de datos activa, esto lo logramos asignando la siguiente función:

prompt = function() {
  return db+"> ";
};

El prompt de MongoDB shell nos muestra la base de datos en uso:

MongoDB shell JavaScript prompt mostrando la base de datos en uso

Crear una gran colección de datos mediante código JavaScript

Podemos utilizar la funcionalidad de JavaScript en el shell de MongoDB para poblar una colección con datos de prueba por ejemplo:

use base1
db.articulos.drop()
for(i = 1; i <= 10; i++) {
  db.articulos.insertOne(
    {
      _id: i,  
      nombre: 'nombre'+i
    }
  );
}
db.articulos.find().pretty();

Como resultado tenemos:

MongoDB shell JavaScript

Desplegar el código JavaScript de los método de MongoDB

Podemos desplegar el código JavaScript de cada método visto en conceptos anteriores simplemente indicando su nombre desde el shell:

use base1
db.articulos.insertOne

Muy útil si tenemos conocimientos de JavaScript para conocer su implementación:

MongoDB shell JavaScript