Está en la página 1de 25

Diseño de Software e

Integración de Sistemas

BASES DE DATOS AVANZADAS

LABORATORIO N° 02

Operaciones con Shell en MongoDB

Alumno(s): Felix Arturo Garcia Mestas Nota

Grupo: Ciclo: III

Requiere No
Excelente Bueno Puntaje
Criterio de Evaluación mejora acept.
(4pts) (3pts) Logrado
(2pts) (0pts)
Identifica los comandos básicos para manipular
documentos en MongoDB
Adiciona documentos a una base de datos
MongoDB
Modifica documentos en una base de datos
MongoDB
Elimina documentos en una base de datos
MongoDB
Es puntual y redacta el informe
adecuadamente
Bases de Datos Avanzadas

Laboratorio 2: Operaciones con Shell en MongoDB


Objetivos:
Al finalizar el laboratorio el estudiante será capaz de:
• Identificar las principales características de la base de datos MongoDB
• Instalar la base de datos MongoDB
• Identificar los principales programas que conforman la base de datos MongoDB
• Acceder a una base de datos MongoDB

Equipos y Materiales:

• Una computadora con:


• Windows 7 o superior

Procedimiento:
Lab Setup

1. Inicio
1.1. Inicie el servidor de la base de datos MongoDB
1.2. Inicie el Shell de MongoDB y crear una base de datos de nombre: Lab02

Adición de documentos

2. Creación de la colección Áreas


2.1. A continuación se muestra la información a almacenar en la colección Áreas
Colección: Areas
Nombre Abreviatura Estado
Docencia Doc. A
Informática Inf. A
Electrotecnia Elect. A
Mecánica Mec. A
Estudios Generales EEGG A
Administración Adm. A
Tecnologías de Información TI A
Seguridad Seg. A
2.2. Crear la colección Áreas:
> db.createCollection(“Areas”);

2.3. Verificar la existencia de la colección Áreas:


> show collections;

3. Adición de documentos a la colección Áreas


3.1. Adicionar el documento “Docencia” a la colección Áreas
> db.Areas.insert( {Nombre: 'Docencia', Abreviatura: 'Doc.', Estado: 'A'} );

3.2. Verificar que se haya adicionado el nuevo documento:


> db.Areas.find( {} );

3.3. Adicionar el documento “Informática” a la colección Áreas (Anote el comando utilizado):


Guía de Laboratorio No 2 Pág. 2
Bases de Datos Avanzadas

db.Areas.find({"Abreviatura":"Inf."});
{ "_id" : ObjectId("63126ae53bc07875b8f580d8"), "Nombre" :
"Informatica", "Abreviatura" : "Inf.", "Estado" : "A" }
3.4. Verificar que se haya adicionado el nuevo documento (Anote el comando utilizado):
>

db.Areas.find( {} );
{ "_id" : ObjectId("6312697a3bc07875b8f580d7"), "Nombre" : "Docencia", "Abreviatura" : "Doc.",
"Estado" : "A" }
{ "_id" : ObjectId("63126ae53bc07875b8f580d8"), "Nombre" : "Informatica", "Abreviatura" : "Inf.",
"Estado" : "A" }

3.5. Adicionar, con una sola instrucción, los documentos “Electrotecnia, Mecánica y Estudios
Generales” a la colección Áreas
> db.Areas.insert( [
{Nombre: 'Electrotecnia', Abreviatura: 'Elect.', Estado:'A'},
{Nombre: 'Mecanica', Abreviatura: 'Mec.', Estado:'A'},
{Nombre: 'Estudios Generales',Abreviatura: 'EEGG', Estado:'A'}
] );

3.6. Verificar que se hayan adicionado los tres nuevos documentos (Anote el comando utilizado):
>

3.7. Adicionar, con una sola instrucción, los documentos “Administración, Tecnologías de
Información y Seguridad” a la colección Áreas (Anote el comando utilizado):
db.Areas.insert([
{Nombre:'Administracion',Abreviatura:'Admi.',Estado:'A'},
{Nombre:'Tecnologias de Informacion y Seguridad',Abreviatura:'TIS.',Estado:'A'}
]);
3.8. Verificar que se hayan adicionado los tres nuevos documentos (Anote el comando utilizado):
>

4. Modificación de documentos de la colección Áreas


4.1. Adicionar los siguientes documentos a la colección Áreas
Colección: Areas
Nombre Abreviatura Estado
Area1 A1 X
Area2 A2 X
Guía de Laboratorio No 2 Pág. 3
Bases de Datos Avanzadas
Area3 A3 X

4.2. Modifique el documento “Area1” con los siguientes datos:


Nombre Abreviatura Estado
Area No 1 Ar1 N
> db.Areas.update(
{Nombre: 'Area1'}, {$set: {Nombre:'Area No 1', Abreviatura:'Ar1', Estado:'N'} }
);

4.3. Verificar que se haya modificado el documento “Area1” (Anote el comando utilizado):
>

4.4. Modifique el documento Area2 con los siguientes datos: (Anote el comando utilizado):
Nombre Abreviatura Estado
Area No 2 Ar2 P

4.5. Verificar que se haya modificado el documento “Area2” (Anote el comando utilizado):
>

db.Areas.find({"Abreviatura":"Ar1"});
{ "_id" : ObjectId("6312751a3bc07875b8f580de"), "Nombre" : "Area No 1", "Abreviatura" :
"Ar1", "Estado" : "N" }
>
4.6. Modifique el documento Area3 con los siguientes datos: (Anote el comando utilizado):
Nombre Abreviatura Estado
Area No 3 Ar3 N

4.7. Verificar que se haya modificado el documento “Area3” (Anote el comando utilizado):

4.8. Modifique el documento “Area No 1”, cambie el estado con el valor “A”:
> db.Areas.update( {Nombre: 'Area No 1'}, {$set: { Estado:'A'} } );

Guía de Laboratorio No 2 Pág. 4


Bases de Datos Avanzadas
4.9. Verificar que se haya modificado el estado del documento “Area No 1” (Anote el comando
utilizado):

4.10. Modifique el documento “Area No 2”, cambie la Abreviatura y el Estado con los valores
“ARE2” y “A” respectivamente. (Anote el comando utilizado):
>

db.Areas.update( {Nombre: 'Area No 2'}, {$set: { Estado:'A',Abreviatura:'ARE2'}} );


WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

4.11. Verificar que se haya modificado el documento “Area No 2” (Anote el comando utilizado):

db.Areas.find({"Abreviatura":"ARE2"});

4.12. Modifique el documento “Area No 3”, cambie su abreviatura con el valor “AN3”: (Anote el
comando utilizado):

4.13. Verificar que se haya modificado el documento “Area No 3” (Anote el comando utilizado):
>db.Areas.find({"Abreviatura":"AR3"});

5. Eliminación de documentos
5.1. Eliminar el documento “Area No 1” de la colección Áreas
> db.Areas.remove( {Nombre: 'Area No 1'} );

5.2. Verificar que se haya eliminado el documento “Area No 1” (Anote el comando utilizado):

>

5.3. Eliminar el documento “Area No 2” de la colección Áreas (Anote el comando utilizado):

>

5.4. Verificar que se haya eliminado el documento “Area No 2” (Anote el comando utilizado):

>

5.5. Eliminar el documento con abreviatura “AN3” de la colección Áreas (Anote el comando
utilizado):

>

5.6. Verificar que se haya eliminado el documento “AN3” (Anote el comando utilizado):

>

Guía de Laboratorio No 2 Pág. 5


Bases de Datos Avanzadas

6. Consulta de documentos
6.1. Visualizar todos los documentos de la colección Áreas
<

> db.Areas.find();

> db.Areas.find( {} );

6.2. Visualizar todos los documentos de la colección Áreas mostrando únicamente los campos
Nombre y Estado
> db.Areas.find( {} , { _id:0, Abreviatura:0 } );
o

Guía de Laboratorio No 2 Pág. 6


Bases de Datos Avanzadas
> db.Areas.find({},{_id:0, Nombre:1, Estado:1});

6.3.
Visualizar todos los documentos de la colección Áreas mostrando únicamente los campos
Abreviatura y Estado (Anote el comando utilizado):
> db.Areas.find({},{_id:0, Abreviatura:1, Estado:1});

6.4. Visualizar únicamente el documento de “Electrotecnia” de la colección Áreas:


> db.Areas.find( { Nombre: 'Electrotecnia' } );

6.5. Visualizar únicamente el documento de “Informática” de la colección Áreas mostrando


únicamente los campos Nombre y Estado:
> db.Areas.find( { Nombre: 'Informatica' }, { _id:0, Abreviatura:0 } );

6.6. Visualizar los documentos de “Electrotecnia” e “Informática” de la colección Áreas


mostrando únicamente los campos Nombre y Estado:
• Empleando el operador $or
> db.Areas.find( { $or: [ { Nombre: 'Electrotecnia' }, { Nombre: 'Informatica' } ] },
{_id:0, Abreviatura:0} );

• Empleando el operador $in


> db.Areas.find( { Nombre: { $in: [ 'Electrotecnia', 'Informatica' ] } },
{ _id:0, Abreviatura:0} );

6.7. Visualizar únicamente el primer documento de la colección Áreas que tenga el campo
Estado con el valor ‘A’ mostrando únicamente los campos Nombre y Estado:
> db.Areas.findOne( { Estado: 'A' }, { _id:0, Abreviatura:0 } );

Guía de Laboratorio No 2 Pág. 7


Bases de Datos Avanzadas
6.8. Visualizar todos los documentos de la colección Áreas en orden ascendente según el
campo Nombre, mostrando únicamente los campos Nombre y Estado:
> db.Areas.find( { }, { _id:0, Abreviatura:0 } ).sort( { Nombre: 1} );

6.9. Visualizar todos los documentos de la colección Áreas en orden descendente según el
campo Nombre, mostrando únicamente los campos Nombre y Estado:
> db.Areas.find( { }, { _id:0, Abreviatura:0 } ).sort( { Nombre: -1} );

6.10. Visualizar los 3 primeros documentos de la colección Áreas, mostrando únicamente los
campos Nombre y Estado:
> db.Areas.find( {}, { _id:0, Abreviatura:0} ).limit(3);

7. Otras tareas de base de datos


7.1. Crear una copia completa de la colección “Áreas” con el nombre “copiaAreas”
> db.Areas.copyTo( 'copiaAreas' );

7.2. Verifique que exista la nueva colección “copiaAreas” y que su contenido sea idéntico a la
colección “Areas” (Anote los comandos utilizados):

7.3. Crear una segunda copia completa de la colección “Áreas” con el nombre “copia2Areas”
> db.Areas.find().forEach( function( param ) { db.copia2Areas.insert( param ) } );

7.4. Verifique que exista la nueva colección “copia2Areas” y que su contenido sea idéntico a la
colección “Areas” (Anote los comandos utilizados):

7.5. Eliminar la colección “copiaAreas” de la base de datos


> db.copiaAreas.drop()

7.6. Verifique que ya no exista la colección “copiaAreas” (Anote el comando utilizado):

7.7. Carga de documentos desde un archivo de script (Javascript)


• Descargue el archivo “Lab02.js”, copie el archivo a la carpeta c:\MongoDB
• Desde una ventana de comandos ejecute las siguientes sentencias:
C:\> cd c:\MongoDB
C:\MongoDB>.\bin\mongo.exe Lab02.js

Guía de Laboratorio No 2 Pág. 8


Bases de Datos Avanzadas

• Verifique que no se produzca ningún mensaje de error


• Regrese a la ventana del Shell de mongoDB
• Verifique que existan dos colecciones de nombres: Mascotas y Cargos
• Visualice los documentos de las colecciones anteriores. Indique los comandos
utilizados:

show databases
Lab02 0.000GB
admin 0.000GB
config 0.000GB
local 0.000GB
test 0.000GB
> use Lab02
switched to db Lab02

7.8. Visualizar todos los documentos de la colección Mascotas mostrando únicamente los
campos nombre, tipo y género (Anote el comando utilizado):
db.Mascotas.find();

7.9. Visualizar únicamente los documentos de mascotas de tipo “Perro” de la colección


Mascotas y mostrando únicamente los campos nombre, tipo y género (Anote el comando
utilizado:
Guía de Laboratorio No 2 Pág. 9
Bases de Datos Avanzadas
db.Mascotas.find( {}, {nombre:1, tipo:1, genero:1 } );

7.10. Visualizar únicamente los documentos de mascotas de tipo “Perro” de género “M” de la
colección Mascotas y mostrando únicamente los campos nombre, tipo y género (Anote el
comando utilizado):
db.Mascotas.find( {tipo:'Perro', genero:'M'}, {nombre:1, tipo:1, genero:1 } );

7.11. Adicionar un documento a la colección Mascotas con menor número de campos (No se
incluye el campo “fecha_nacimiento” ):
> db.Mascotas.insert( { _id: 9, nombre:'Mirna', tipo:'Gato', genero:'H' } );

7.12. Adicionar un documento a la colección Cargos que incluya únicamente los campos: “_id” y
“nombre” (Anote el comando utilizado):
>db.Cargos.insert({_id:10,nombre:"Encriptador"})

7.13. Adicionar un documento a la colección Mascotas incluyendo nuevos campos:


> db.Mascotas.insert( { _id:10, nombre:'Kaco', tipo:'Perro', genero:'M',
fecha_nacimiento: "09/23/2015", origen: "Selva peruana" } );

7.14. Adicionar un documento a la colección Cargos que incluya además de todos los campos
actuales, los campos nuevos: “comision” y “estado” (Anote el comando utilizado):
> db.Cargos.insert({_id:11, nombre:"D.Humanos", sueldo:1200, comision:0.20,
estado:"Disponible"})

7.15. Visualizar los documentos de mascotas que no sean de tipo “Gato” de la colección
Mascotas y mostrando únicamente los campos nombre, tipo y género:
> db.Mascotas.find( { tipo: {$ne: "Gato"} }, { _id:0, nombre: 1, tipo:1, genero:1 } );

Guía de Laboratorio No 2 Pág. 10


Bases de Datos Avanzadas
> db.Mascotas.find( { tipo: { $not: { $eq: "Gato"} } }, {_id:0, fecha_nacimiento:0 } );

7.16. Visualizar los documentos de cargos cuyo sueldo sea mayor a “6500” soles de la colección
Cargos y mostrando únicamente los campos nombre, y sueldo:
> db.Cargos.find( { sueldo: { $gt: 6500 } }, { _id:0, nombre:1, sueldo:1 } );

7.17. Visualizar los documentos de Mascotas que no sean de tipo Gato y cuyo género no sea
“M” , mostrando únicamente los campos nombre, tipo y género:
> db.Mascotas.find( { $nor: [ { tipo: "Gato" }, { genero: 'M' } ] },
{ _id:0, nombre:1, tipo:1, genero:1 } );

7.18. Visualizar los documentos de Mascotas en los que exista el campo “origen”, mostrando
todos los campos:
> db.Mascotas.find( { origen: { $exists: true } } );

Guía de Laboratorio No 2 Pág. 11


Bases de Datos Avanzadas
7.19. Visualizar los documentos de Mascotas en los que NO exista el campo “origen”, mostrando
todos los campos:
> db.Mascotas.find( { origen: { $not: { $exists: true } } } );

7.20. Visualizar los documentos de Cargos en los que exista el campo “sueldo” y cuyo monto
sea mayor a “5000” soles, mostrando todos los campos:
> db.Cargos.find( { sueldo: { $exists: true, $gt: 5000 } } );

Guía de Laboratorio No 2 Pág. 12


Bases de Datos Avanzadas

7.21. Visualizar los documentos de Cargos en los que exista el campo “sueldo” y cuyo monto
sea menor a “5000” soles, mostrando todos los campos:
db.Cargos.find( { sueldo: { $lt: 5000 } } );

Guía de Laboratorio No 2 Pág. 13


Bases de Datos Avanzadas
7.22. Visualizar los documentos de Cargos en los que exista el campo “sueldo” y cuyo monto se
encuentre entre el rango de “5000” y “10000” soles, mostrando todos los campos:
db.Cargos.find( { sueldo: { $lt: 5000 },sueldo:{$gt:10000} } );
>

Guía de Laboratorio No 2 Pág. 14


Bases de Datos Avanzadas
8. Expresiones regulares “$regex”
8.1. Visualizar los documentos de Mascotas cuyos nombres inicien con la letra “L”, mostrando
todos los campos:
> db.Mascotas.find( { nombre: { $regex: /^L/ } } );

Guía de Laboratorio No 2 Pág. 15


Bases de Datos Avanzadas
8.2. Visualizar los documentos de Mascotas cuyos nombres contengan la letra “L” en cualquier
posición sin diferenciar mayúsculas de minúsculas, mostrando todos los campos:
> db.Mascotas.find( { nombre: { $regex: /L/i } } );

Guía de Laboratorio No 2 Pág. 16


Bases de Datos Avanzadas
8.3. Visualizar los documentos de Mascotas cuyos nombres inicien con la letra “L” y además
que contengan la letra “a” en cualquier posición, mostrando todos los campos:
> db.Mascotas.find( { $and: [ {nombre: { $regex: /^L/ } }, { nombre: {$regex: /a/} }
] } );

8.4. Visualizar los documentos de Mascotas cuyos nombres no inicien con la letra “L”,
mostrando únicamente el campo “nombre”:
> db.Mascotas.find( { nombre: { $not: /L/ } }, {_id:0, nombre:1 } );

Guía de Laboratorio No 2 Pág. 17


Bases de Datos Avanzadas
8.5. Visualizar los documentos de Mascotas cuyos nombres terminen en la letra “a”, mostrando
únicamente el campo “nombre”:
> > db.Mascotas.find( { nombre: { $regex: 'a$' } }, {_id:0, nombre:1} );

8.6. Visualizar los documentos de Mascotas cuyos nombres no terminen en la letra “a”,
mostrando únicamente el campo “nombre”:
> db.Mascotas.find( { nombre: { $not: /a$/ } }, {_id:0, nombre:1} );

Guía de Laboratorio No 2 Pág. 18


Bases de Datos Avanzadas
8.7. Visualizar los documentos de Mascotas cuyos nombres inicien con alguna de las letras “L”
o “B” o “M”, mostrando únicamente el campo “nombre”:
> db.Mascotas.find( { nombre: { $regex: '[LBM]' } }, { _id:0, nombre:1 } );

8.8. Visualizar los documentos de Mascotas cuyos nombres NO inicien con alguna de las letras
“L” o “B” o “M”, mostrando únicamente el campo “nombre”:
> db.Mascotas.find( { nombre: { $not: /[LBM]/ } }, { _id:0, nombre:1 } );

Guía de Laboratorio No 2 Pág. 19


Bases de Datos Avanzadas

Comparison Query Operators

For comparison of different BSON type values, see the specified BSON comparison order.

Nombre Descripción
• $eq Coincide con valores que son iguales a un valor especificado.
• $gt Coincide con valores que son mayores que un valor especificado.
• $gte Coincide con valores que son mayores o iguales a un valor especificado.
• $lt Coincide con valores que son menores que un valor especificado.
• $lte Coincide con valores que son menores o iguales a un valor especificado.
• $ne Coincide con todos los valores que no son iguales a un valor especificado.
• $in Coincide con cualquiera de los valores especificados en una matriz.
• $nin No coincide con ninguno de los valores especificados en una matriz.
Logical Query Operators

Name Description
$or Joins query clauses with a logical OR returns all documents that match the conditions of
either clause.
$and Joins query clauses with a logical AND returns all documents that match the conditions
of both clauses.
$not Inverts the effect of a query expression and returns documents that do not match the
query expression.
$nor Joins query clauses with a logical NOR returns all documents that fail to match both
clauses.

Regular Expressions
$regex, provides regular expression capabilities for pattern matching strings in queries. MongoDB
uses Perl compatible regular expressions.
To use $regex, use one of the following syntax:

{ <field>: { $regex: /pattern/, $options: '<options>' } }


{ <field>: { $regex: 'pattern', $options: '<options>' } }
{ <field>: { $regex: /pattern/<options> } }

In MongoDB, you can also use regular expression objects (i.e. /pattern/) to specify regular
expressions:

{ <field>: /pattern/<options> }

$options
The following <options> are available for use with regular expression.

Option Description
i Case insensitivity to match upper and lower cases. For an example, see Perform Case-
Insensitive Regular Expression Match.
m For patterns that include anchors (i.e. ^ for the start, $ for the end), match at the
beginning or end of each line for strings with multiline values. Without this option, these
anchors match at beginning or end of the string.

If the pattern contains no anchors or if the string value has no newline characters (e.g.
\n), the m option has no effect.

Guía de Laboratorio No 2 Pág. 20


Bases de Datos Avanzadas

x “Extended” capability to ignore all white space characters in the $regex pattern unless
escaped or included in a character class.

Additionally, it ignores characters in-between and including an un-escaped hash/pound


(#) character and the next new line, so that you may include comments in complicated
patterns. This only applies to data characters; white space characters may never
appear within special character sequences in a pattern.

The x option does not affect the handling of the VT character (i.e. code 11).

Requires $regex with $options syntax


s Allows the dot character (i.e. .) to match all characters including newline characters. For
an example, see Use the . Dot Character to Match New Line.
Requires $regex with $options syntax

Guía de Laboratorio No 2 Pág. 21


Bases de Datos Avanzadas

Tarea:
1. Implemente un archivo script el cual permita crear una base de datos de nombre “TareaLab02”
además debe contener sentencias para crear dos colecciones y adicionar documentos a dichas
colecciones (mínimo 10 documentos por cada colección). Cada estudiante propondrá los
nombres de cada colección. (Incluya el contenido del archivo resultante en esta sección de la
guía de laboratorio)

use ('TareaLab02_Felix_Garcia');

db.Profesores.insert([

{Nombre:'Adreu', Edad: 28, Curso:'Comunicacion', Clase:'A1'},


{Nombre:'Jose', Edad: 34, Curso:'Religion', Clase:'A2'},
{Nombre:'Daniel', Edad: 29, Curso:'Matematicas', Clase:'A3'},
{Nombre:'Estela', Edad: 35, Curso:'Ed.Fisica', Clase:'A1'},
{Nombre:'Felix', Edad: 27, Curso:'Programacion', Clase:'A1'},

{Nombre:'Daniela', Edad: 42, Curso:'Quimica', Clase:'A3'},


{Nombre:'Yanina', Edad: 28, Curso:'Arte', Clase:'A1'},
{Nombre:'Juan', Edad: 29, Curso:'Fisica', Clase:'A2'},
{Nombre:'Miguel', Edad: 43, Curso:'Tutoria', Clase:'A2'},
{Nombre:'Andrea', Edad: 58, Curso:'Biologia', Clase:'A2'}

]);

db.Medicos.insert([

{Nombre:'Antonio', Edad: 34, Estado:'C', Profesion:'Neurologo'},


{Nombre:'Tovbias', Edad: 65, Estado:'V', Profesion:'Dermatologo'},
{Nombre:'Ana', Edad: 45, Estado:'C', Profesion:'Otologa'},
{Nombre:'Charles', Edad: 35, Estado:'D', Profesion:'Ortopedico'},
{Nombre:'Fred', Edad: 37, Estado:'V', Profesion:'Ginecologo'},

{Nombre:'John', Edad: 29, Estado:'S', Profesion:'Cariologo'},


{Nombre:'Franchesca', Edad: 71, Estado:'S', Profesion:'Dentista'},
{Nombre:'Michaela', Edad: 62, Estado:'S', Profesion:'Neurologa'},
{Nombre:'Raily', Edad: 35, Estado:'D', Profesion:'Ginecologa'},
{Nombre:'Franks', Edad: 44, Estado:'V', Profesion:'Otologa'}
]);

2. Elaborar una serie de comandos que permitan consultar documentos de las tablas creadas en la
base de datos anterior y adjuntarlos como parte de la presente guía de laboratorio. Deberá incluir
“El requerimiento textual de la información a obtener” y luego el “comando implementado para
obtener la información requerida” (En forma similar como se han presentado los ejercicios en la
guía de laboratorio).

Guía de Laboratorio No 2 Pág. 22


Bases de Datos Avanzadas

Profesores Menores de 30 años (Solo nombre y edad).

db.Profesores.find(
{Edad:{$lt:30}},
{_id:0, Curso:0, Clase:0}
);

Guía de Laboratorio No 2 Pág. 23


Bases de Datos Avanzadas

db.Profesores.find(
{Clase:{$in:['A1','A2']}},
{_id:0,Clase:1,Curso:1}
);

Guía de Laboratorio No 2 Pág. 24


Bases de Datos Avanzadas
Médicos solteros con la letra “a” en su nombre
db.Medicos.find(
{
Estado:'S',
Nombre: { $regex: /a/ }
}
);

Conclusiones:
Indicar las conclusiones que llegó después de los temas tratados de manera práctica en este
laboratorio.

• Se concluye que MongoDB tiene herramientas igual de complejas que SQL


server.
• En MongoDB se codifica por medio de archivos Java Script o por la misma
consola Shell de Mongo DB.
• Mongo de se puede ejecutar también en Visual Studio.
• En Mongo DB se puede saber la cantidad de memoria usada.

Guía de Laboratorio No 2 Pág. 25

También podría gustarte