Sei sulla pagina 1di 4

Sentencias de mongodb

Hay que estar pendiente de las maysculas

Iniciar servicios de mongodb:

sudo service mongod start


Ejecutar se coloca en consola:

mongo
Para ver las bases de datos que tenemos, utilizamos

show dbs.
Para usar una base de datos, al igual que en MySQL, tenemos el comando

use manejandodatos:
El comando use nos servir tanto para crear bases de datos, como para seleccionarlas. Si la base
de datos que vallamos a seleccionar no est, MongoDB crea una nueva:

use bdmongo
vamos a crear una coleccin ( mejor conocido como tablas en bases de datos relacionales ) y
vamos a introducir datos a sa coleccin:

db.contacto.insert({nombre:Ruben, apellidos:Rodriguez, edad: 21})


Con sto, crearemos una coleccin/tabla llamada contacto, con tres campos/columnas llamados
nombre y apellidos de tipo String y edad de tipo int.

Ahora mostraremos los datos de sa coleccin

db.contacto.find()
El siguiente comando visualizar las colecciones que tenemos creadas en nuestra base de datos

db.getCollectionNames()
Otra alternativa a: db.getCollectionNames() . Sera:

show collections
introducir ms datos a nuestra coleccin contacto:

db.contacto.insert({nombre:Steve, apellidos:Jobs, edad:45})


db.contacto.insert({nombre:Linus, apellidos:Torvalds, edad:42})
db.contacto.insert({nombre:Bill, apellidos:Gates, edad:45})
Y vamos a utilizar filtros de bsqueda en nuestra coleccin. Vamos a mostrar slo aquellos
usuarios que tengan por nombre: Ruben.

db.contacto.find({nombre:Ruben})
Con sto, nos mostrar los usuarios que por nombre se llamen Ruben. Si queremos que el
resultado se muestre algo ms vistoso ponemos:

db.contacto.find({nombre:Ruben}).pretty()
Y nos mostrar el resultado con tabulaciones mucho mejor formado y ms vistoso. Ahora
mostraremos a los usuarios que cumplan unos requisitos con respecto a la edad.

En MongoDB para hacer comparaciones con nmeros, si es mayor, menor o igual utiliza unos
selectores especiales que son los siguientes:

$lt : Para menor que

db.contacto.find({edad:{$lt: 42}})
Lista de contactos que tengan menos de 42 aos.

$lte : Para menor o igual que

db.contacto.find({edad:{$lte: 42}})
Lista de contactos que tengan de edad menos o igual a 42 aos.

$gt : Para mayor que

db.contacto.find({edad:{$gt: 42}})
Lista de contactos que tenga de edad mayor 42 aos.

$gte : Para mayor o igual que

db.contacto.find({edad:{$gte: 42}})
Lista de contactos que tenga de edad mayor o igual 42 aos.

$ne : Que no sea igual a

db.contacto.find({nombre:{$ne:Ruben}}).pretty()
Lista todos los contactos menos los contactos con nombre Ruben. En MongoDB tambin podemos
comprobar si existe un campo o no en los documentos que tenemos almacenados en nuestra base
de datos. sto se consigue con el operador $exist :

db.contacto.find({fechanacimiento:{$exists:true}})
Utilizamos el mtodo find y buscamos el campo que queremos encontrar junto con el operador
exist, cuyos valores sern false o true. En el ejemplo anterior estamos diciendo que busque
aquellos documentos que tengan un campo llamado fechanacimiento y si hay documentos con se
campo que me lo muestre. En cambio si queremos que nos muestre los que no tienen se campo,
slo tenemos que cambiar el valor true a false:

db.contacto.find({fechanacimiento:{$exists:false}})
Tambin podemos incluir varias ordenes en una misma consulta, cmo por ejemplos los
operadores $and y $or.

db.contacto.find({$or : [{edad : {$lte: 42}},{nombre:Ruben}]})


En la consulta anterior nos mostrar los contactos cuyo nombre tengan Ruben o la edad sea
menor o igual a 42. En nuestro caso nos mostrar slo dos contactos Linus y Ruben. Sin embargo
sin cambiamos el $or por el $and:

db.contacto.find({$and : [{edad : {$lte: 42}},{nombre:Ruben}]})


Slo nos mostrar uno, Ruben, ya que tiene de nombre Ruben y su edad es menor o igual a 42.

Despus de ver las ordenes bsicas anteriores vamos a ver (por fin), las ordenes de borrar y
actualizar, anteriormente hemos visto, entre otras muchas, como insertar datos, ahora vamos a
ver cmo borrarlos o actualizarlos.

Empezaremos con el de borrar que es el ms sencillo de aprender. En MongoDB para eliminar un


documento podemos hacerlo por su _id , por su nombre o por otros campos. Pero la mayora de
las veces siempre lo haremos por su _id dado que es su clave nica y nunca se va a repetir. Vamos
a ello!!

Para eliminar un contacto, primero vamos a borrarlo por su _id.

db.contacto.find()
Lo primero mostramos los contactos que tenemos almacenados y elegimos el id del contacto a
eliminar, copiamos TODO el valor del _id y ejecutamos el siguiente comando:

db.contacto.remove({_id: ObjectId(534133f87a5b869f437cdab9)})
Con sto hemos eliminado el contacto con el id que hemos indicado. Tambin podemos eliminar
el contacto por nombre, simplemente cambiar el campo _id por nombre y el valor del _id por el
valor del nombre del contacto a eliminar.

Una vez visto la eliminacin de un documento, vamos actualizar un documento.

MongoDB utiliza dos tipos de update: uno que actualiza el campo de un documento concreto, y
otro que actualiza completamente el documento. Ahora lo veremos para que se quede mucho
ms claro.

Primero vamos a cambiar el apellido del contacto Ruben, Rodriguez. Lo vamos a cambiar por
Ramirez. Cmo slo vamos a modificar un campo, pues utilizaremos el primer update. El primer
update requiere del operador $set, dentro de ste operador introduciremos el nuevo valor que
queremos introducir:

db.contacto.update( { _id : ObjectId(534133e57a5b869f437cdab6) }, { $set : {


apellidos : Ramirez} } )
Utilizamos el mtodo update, buscamos el documento por _id y actualizamos apellidos a Ramirez.
Si, hubisemos realizado el otro update sin el $set:
db.contacto.update( { _id : ObjectId(534133e57a5b869f437cdab6) }, {apellidos :
Ramirez})

Potrebbero piacerti anche