Tutorial Rápido MongoDB – Parte 3

PorErik Guerrero V.

Tutorial Rápido MongoDB – Parte 3

INDICE

11.-UPDATE
12.-REMOVE
13.-DROP
14.-DROPDATABASE
15.-BETWEEN


11.-ACTUALZIZAR CON UPDATE, Actualizar un documento

#Obtenemos un registro a modificar
> var test = db.usuarios.findOne({“_id” : ObjectId(“5a870818d3cc24c62cfef22e”)})

#Mostramos
> test

Out:
{
“_id” : ObjectId(“5a870818d3cc24c62cfef22e”),
“dni” : “41327322”,
“nombre” : “Edwim Guerrero”,
“edad” : 35,
“fecharegistro” : ISODate(“2018-02-16T16:33:39.481Z”),
“pais” : “Perú”
}

#Cambiamos
> test.nombre = “nuevo nombre cambiado”

#Montramos
> test

Out:
{
“_id” : ObjectId(“5a870818d3cc24c62cfef22e”),
“dni” : “41327322”,
“nombre” : “nuevo nombre cambiado”,
“edad” : 35,
“fecharegistro” : ISODate(“2018-02-16T16:33:39.481Z”),
“pais” : “Perú”
}

#Actualizamos, como primer parámetro la condicional del documento a actualizar, y como segundo parámetro el documento modificado
> db.usuarios.update({“_id” : ObjectId(“5a870818d3cc24c62cfef22e”)}, test)

Out:

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

Ejemplo 2: Actualizar un documento enviando como parámetro los valores con el comando $set, “Ojo: sólo actualizará el primero documento encontrado”.

>db.usuarios.update( {“_id” : ObjectId(“5a870818d3cc24c62cfef22e”)}, {$set: {nomnbre:”Cambiando con SET”}})

Out:
WriteResult({ “nMatched” : 1, “nUpserted” : 0, “nModified” : 1 })

Revisamos

>db.usuarios.find()

Out:

{
“_id” : ObjectId(“5a870818d3cc24c62cfef22e”),
“dni” : “41327322”,
“nombre” : “Cambiando con SET”,
“edad” : 35,
“fecharegistro” : ISODate(“2018-02-16T16:33:39.481Z”),
“pais” : “Perú”
}

Ejemplo 3: Actualizar más de un documento agregando el tercer parámetro {multi:true}>

>db.usuarios.update({},{$set:{edad:40}}, {multi:true})

Out:
WriteResult({ “nMatched” : 5, “nUpserted” : 0, “nModified” : 5 })

> db.usuarios.update({edad:40}, {$set: {dni:99999999}}, {multi:true})

Out:
WriteResult({ “nMatched” : 5, “nUpserted” : 0, “nModified” : 5 })

Ejemplo 4: Eliminar Campo de uno o varios documentos con $unset.

Elimina el campos con nombre “fecharegistro” de cada documento que comprenda el filtro especificado.

> db.usuarios.update({}, {$unset:{fecharegistro:1}}, {multi:true})

Out:
WriteResult({ “nMatched” : 5, “nUpserted” : 0, “nModified” : 3 })

12.- REMOVE: Elimina documentos.

Ejemplo:

Datos:
> db.usuarios.find();

{ “_id” : ObjectId(“5a8af44bdb5aac3df0ee5525”), “edad” : 15, “nombre” : “u1” }
{ “_id” : ObjectId(“5a8af44fdb5aac3df0ee5526”), “edad” : 15, “nombre” : “u1” }
{ “_id” : ObjectId(“5a8af451db5aac3df0ee5527”), “edad” : 16, “nombre” : “u2″ }

Remover con condicional:
> db.usuarios.remove({nombre:”u1”})

Remover sin condicional:
> db.usuarios.remove({})

Out:
WriteResult({ “nRemoved” : 2 })

13.-DROP: Elimina una colección.

> db.usuarios.drop()

Out:
True

>show collections
>

14.-DROPDATABASE, eliminar una base de datos

> db.drodDatabase()

Out:
{ “dropped” : “dbtest”, “ok” : 1 }

15.-BETWEEN, Mostrar sólo los documentos que contengan el rango de criterios.

Operadores:

$gt > greater than
$gte >= greater than equals
$lt < less than
$lte <= less than equals

Datos:

>db.usuarios.find();

Out:

{ “_id” : ObjectId(“5a8affdcdb5aac3df0ee5528”), “nombre” : “u1”, “edad” : 20 }
{ “_id” : ObjectId(“5a8affdedb5aac3df0ee5529”), “nombre” : “u2”, “edad” : 21 }
{ “_id” : ObjectId(“5a8affe0db5aac3df0ee552a”), “nombre” : “u3”, “edad” : 22 }
{ “_id” : ObjectId(“5a8affe2db5aac3df0ee552b”), “nombre” : “u4”, “edad” : 23 }
{ “_id” : ObjectId(“5a8affe4db5aac3df0ee552c”), “nombre” : “u5”, “edad” : 25 }
{ “_id” : ObjectId(“5a8affe8db5aac3df0ee552d”), “nombre” : “u6”, “edad” : 26 }
{ “_id” : ObjectId(“5a8affebdb5aac3df0ee552e”), “nombre” : “u7”, “edad” : 27 }

Mostrando sólo los campos necesarios

>db.usaurios.find({}, {_id:0, nombre:1, edad:1})

Out:

{ “nombre” : “u1”, “edad” : 20 }
{ “nombre” : “u2”, “edad” : 21 }
{ “nombre” : “u3”, “edad” : 22 }
{ “nombre” : “u4”, “edad” : 23 }
{ “nombre” : “u5”, “edad” : 25 }
{ “nombre” : “u6”, “edad” : 26 }
{ “nombre” : “u7”, “edad” : 27 }

Ejemplo 1: $gt >

> db.usuarios.find({edad: {$gt:25}})

Out:
{ “_id” : ObjectId(“5a8affe8db5aac3df0ee552d”), “nombre” : “u6”, “edad” : 26 }
{ “_id” : ObjectId(“5a8affebdb5aac3df0ee552e”), “nombre” : “u7”, “edad” : 27 }

Ejemplo 2: $gte >=

> db.usuarios.find({edad: {$gte:25}})

Out:
{ “_id” : ObjectId(“5a8affe4db5aac3df0ee552c”), “nombre” : “u5”, “edad” : 25 }
{ “_id” : ObjectId(“5a8affe8db5aac3df0ee552d”), “nombre” : “u6”, “edad” : 26 }
{ “_id” : ObjectId(“5a8affebdb5aac3df0ee552e”), “nombre” : “u7”, “edad” : 27 }

Ejemplo 3: $lt <

> db.usuarios.find({edad: {$lt:25}})

Out:
{ “_id” : ObjectId(“5a8affdcdb5aac3df0ee5528”), “nombre” : “u1”, “edad” : 20 }
{ “_id” : ObjectId(“5a8affdedb5aac3df0ee5529”), “nombre” : “u2”, “edad” : 21 }
{ “_id” : ObjectId(“5a8affe0db5aac3df0ee552a”), “nombre” : “u3”, “edad” : 22 }
{ “_id” : ObjectId(“5a8affe2db5aac3df0ee552b”), “nombre” : “u4”, “edad” : 23 }

Ejemplo 4: $lte <=

> db.usuarios.find({edad: {$lte:25}})

Out:
{ “_id” : ObjectId(“5a8affdcdb5aac3df0ee5528”), “nombre” : “u1”, “edad” : 20 }
{ “_id” : ObjectId(“5a8affdedb5aac3df0ee5529”), “nombre” : “u2”, “edad” : 21 }
{ “_id” : ObjectId(“5a8affe0db5aac3df0ee552a”), “nombre” : “u3”, “edad” : 22 }
{ “_id” : ObjectId(“5a8affe2db5aac3df0ee552b”), “nombre” : “u4”, “edad” : 23 }
{ “_id” : ObjectId(“5a8affe4db5aac3df0ee552c”), “nombre” : “u5”, “edad” : 25 }

Ejemplo 5: Combinando operadores.

Mostrar los documento cuyo atributo edad sea mayor o igual a 20 y menor o igual a 22, y sólo muestre los campos _id y edad.

> db.usuarios.find( {edad: {$gte:20, $lte:22}}, {edad:1})

Out:
{ “_id” : ObjectId(“5a8affdcdb5aac3df0ee5528”), “edad” : 20 }
{ “_id” : ObjectId(“5a8affdedb5aac3df0ee5529”), “edad” : 21 }
{ “_id” : ObjectId(“5a8affe0db5aac3df0ee552a”), “edad” : 22 }

About the author

Erik Guerrero V. administrator

Deja un comentario