La instalación de MongoDB no es complicada, solo hay que leer un poquito la documentación que ofrece su sitio, la cual es sencilla, amena y fácil.
https://www.mongodb.com/es
Hay una variedad de instalaciones y modalidades, por el momento para no perdernos solo instalaremos el SERVER para correr en la máquina local, Tambien se ofrece la version CLOUD con MongoDB Atlas.
Bajaremos la version windows, es un archivo msi, y en la instalación nos permite agregar características adicionales.
la instalación por default es en C:\Program Files\MongoDB\Server\3.4 y permite configurar donde guardaremos los datos, que en mi caso sera en F:\Mongo\data\db y F:\Mongo\log creamos estos subdirectorios ya que al arrancar el servidor de mongo le indicaremos estos paths.
para facilitar el acceso a los comandos de MongoDB agregaremos al Path del sistema la ruta
C:\Program Files\MongoDB\Server\3.4\bin
damos el comando para arrancar el servidor desde una ventana de linea de comandos iniciada en modo administrador.
>
mongod --directoryperdb --dbpath F:\Mongo\data\db --logpath F:\Mongo\log\mongo.log --logappend --rest --install
2017-11-16T10:54:48.395-0600 I CONTROL [main] ** WARNING: --rest is specified without --httpinterface,
2017-11-16T10:54:48.397-0600 I CONTROL [main] ** enabling http interface
En el comando dimos la opcion --install que lo ejecuta como servicio, así que si no es la primera vez que se ejecuta ya estara como servicio de windows, para ello vamos a servicios de windows y nos cercioramos que este en ejecucion MongoDB.
Revisamos en un browser la dirección http://localhost:27017/
It looks like you are trying to access MongoDB over HTTP on the native driver port.
ahora ejecutaremos el shell de mongo para poder dar comandos.
>
mongo
MongoDB shell version v3.4.10
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.10
Server has startup warnings:
2017-11-16T10:57:21.029-0600 I CONTROL [main] ** WARNING: --rest is specified without --httpinterface,
2017-11-16T10:57:21.030-0600 I CONTROL [main] ** enabling http interface
2017-11-16T10:57:24.374-0600 I CONTROL [initandlisten]
2017-11-16T10:57:24.374-0600 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
2017-11-16T10:57:24.374-0600 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
2017-11-16T10:57:24.374-0600 I CONTROL [initandlisten]
> db
test
> show dbs
admin 0.000GB
local 0.000GB
> use BetoDB
switched to db BetoDB
> db
BetoDB
> db.createUser({user:"Beto",pwd:"Beto",roles:["readWrite","dbAdmin"]});
Successfully added user: { "user" : "Beto", "roles" : [ "readWrite", "dbAdmin" ] }
> db.createCollection('clientes');
{ "ok" : 1 }
> db.clientes.insert({nombre:"Juan", apellido:"Perez"});
WriteResult({ "nInserted" : 1 })
> db.clientes.find();
{ "_id" : ObjectId("5a0d0918f211ce4f67261bcb"), "nombre" : "Juan", "apellido" : "Perez" }
> show collections
clientes
> db.clientes.insert({nombre:"Rod", apellido:"Campos"});
WriteResult({ "nInserted" : 1 })
> db.clientes.find();
{ "_id" : ObjectId("5a0d0918f211ce4f67261bcb"), "nombre" : "Juan", "apellido" : "Perez" }
{ "_id" : ObjectId("5a0dc8e56dd8b456f1b39f61"), "nombre" : "Rod", "apellido" : "Campos" }
> db.clientes.insert({nombre:"Juan", apellido:"Perez"},{nombre:"Denisse", apellido:"Swarts", genero:"femenino"});
WriteResult({ "nInserted" : 1 })
> db.clientes.find();
{ "_id" : ObjectId("5a0d0918f211ce4f67261bcb"), "nombre" : "Juan", "apellido" : "Perez" }
{ "_id" : ObjectId("5a0dc8e56dd8b456f1b39f61"), "nombre" : "Rod", "apellido" : "Campos" }
{ "_id" : ObjectId("5a0dc93a6dd8b456f1b39f62"), "nombre" : "Juan", "apellido" : "Perez" }
> db.clientes.insert([{nombre:"Juan", apellido:"Perez"},{nombre:"Denisse", apellido:"Swarts", genero:"femenino"}]);
BulkWriteResult({
"writeErrors" : [ ],
"writeConcernErrors" : [ ],
"nInserted" : 2,
"nUpserted" : 0,
"nMatched" : 0,
"nModified" : 0,
"nRemoved" : 0,
"upserted" : [ ]
})
> db.clientes.find().pretty()
{
"_id" : ObjectId("5a0d0918f211ce4f67261bcb"),
"nombre" : "Juan",
"apellido" : "Perez"
}
{
"_id" : ObjectId("5a0dc8e56dd8b456f1b39f61"),
"nombre" : "Rod",
"apellido" : "Campos"
}
{
"_id" : ObjectId("5a0dc93a6dd8b456f1b39f62"),
"nombre" : "Juan",
"apellido" : "Perez"
}
{
"_id" : ObjectId("5a0dc9a86dd8b456f1b39f63"),
"nombre" : "Juan",
"apellido" : "Perez"
}
{
"_id" : ObjectId("5a0dc9a86dd8b456f1b39f64"),
"nombre" : "Denisse",
"apellido" : "Swarts",
"genero" : "femenino"
}
> db.clientes.remove({_id: ObjectId("5a0dc9a86dd8b456f1b39f64")});
WriteResult({ "nRemoved" : 1 })
> db.clientes.find().pretty();
{
"_id" : ObjectId("5a0d0918f211ce4f67261bcb"),
"nombre" : "Juan",
"apellido" : "Perez"
}
{
"_id" : ObjectId("5a0dc8e56dd8b456f1b39f61"),
"nombre" : "Rod",
"apellido" : "Campos"
}
{
"_id" : ObjectId("5a0dc93a6dd8b456f1b39f62"),
"nombre" : "Juan",
"apellido" : "Perez"
}
{
"_id" : ObjectId("5a0dc9a86dd8b456f1b39f63"),
"nombre" : "Juan",
"apellido" : "Perez"
}
> db.clientes.remove({nombre:"Juan"});
WriteResult({ "nRemoved" : 3 })
> db.clientes.insert({nombre:"Juan", apellido:"Perez"});
WriteResult({ "nInserted" : 1 })
> db.clientes.insert({nombre:"Juan", apellido:"Lopez"});
WriteResult({ "nInserted" : 1 })
> db.clientes.find();
{ "_id" : ObjectId("5a0dc8e56dd8b456f1b39f61"), "nombre" : "Rod", "apellido" : "Campos" }
{ "_id" : ObjectId("5a0dcbdc6dd8b456f1b39f65"), "nombre" : "Juan", "apellido" : "Perez" }
{ "_id" : ObjectId("5a0dcc296dd8b456f1b39f66"), "nombre" : "Juan", "apellido" : "Lopez" }
> db.clientes.update({nombre:"Juan"},{nombre:"Juan", apellido:"Perez", genero:"masculino"});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.clientes.find();
{ "_id" : ObjectId("5a0dc8e56dd8b456f1b39f61"), "nombre" : "Rod", "apellido" : "Campos" }
{ "_id" : ObjectId("5a0dcbdc6dd8b456f1b39f65"), "nombre" : "Juan", "apellido" : "Perez", "genero" : "masculino" }
{ "_id" : ObjectId("5a0dcc296dd8b456f1b39f66"), "nombre" : "Juan", "apellido" : "Lopez" }
> db.clientes.update({nombre:"Juan"},{$set:{genero:"femenino"}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.clientes.find();
{ "_id" : ObjectId("5a0dc8e56dd8b456f1b39f61"), "nombre" : "Rod", "apellido" : "Campos" }
{ "_id" : ObjectId("5a0dcbdc6dd8b456f1b39f65"), "nombre" : "Juan", "apellido" : "Perez", "genero" : "femenino" }
{ "_id" : ObjectId("5a0dcc296dd8b456f1b39f66"), "nombre" : "Juan", "apellido" : "Lopez" }
> db.clientes.update({nombre:"Juan"},{$set:{edad:21}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.clientes.find();
{ "_id" : ObjectId("5a0dc8e56dd8b456f1b39f61"), "nombre" : "Rod", "apellido" : "Campos" }
{ "_id" : ObjectId("5a0dcbdc6dd8b456f1b39f65"), "nombre" : "Juan", "apellido" : "Perez", "genero" : "femenino", "edad" : 21 }
{ "_id" : ObjectId("5a0dcc296dd8b456f1b39f66"), "nombre" : "Juan", "apellido" : "Lopez" }
> db.clientes.update({nombre:"Juan"},{$inc:{edad:3}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.clientes.find();
{ "_id" : ObjectId("5a0dc8e56dd8b456f1b39f61"), "nombre" : "Rod", "apellido" : "Campos" }
{ "_id" : ObjectId("5a0dcbdc6dd8b456f1b39f65"), "nombre" : "Juan", "apellido" : "Perez", "genero" : "femenino", "edad" : 24 }
{ "_id" : ObjectId("5a0dcc296dd8b456f1b39f66"), "nombre" : "Juan", "apellido" : "Lopez" }
> db.clientes.update({nombre:"Juan"},{$unset:{edad:1}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.clientes.find();
{ "_id" : ObjectId("5a0dc8e56dd8b456f1b39f61"), "nombre" : "Rod", "apellido" : "Campos" }
{ "_id" : ObjectId("5a0dcbdc6dd8b456f1b39f65"), "nombre" : "Juan", "apellido" : "Perez", "genero" : "femenino" }
{ "_id" : ObjectId("5a0dcc296dd8b456f1b39f66"), "nombre" : "Juan", "apellido" : "Lopez" }
> db.clientes.update({nombre:"Maria"},{nombre:"Maria", apellido:"Morales"});
WriteResult({ "nMatched" : 0, "nUpserted" : 0, "nModified" : 0 })
> db.clientes.update({nombre:"Maria"},{nombre:"Maria", apellido:"Morales"},{upsert:true});
WriteResult({
"nMatched" : 0,
"nUpserted" : 1,
"nModified" : 0,
"_id" : ObjectId("5a0dceb19705684e76048b3f")
})
> db.clientes.find();
{ "_id" : ObjectId("5a0dc8e56dd8b456f1b39f61"), "nombre" : "Rod", "apellido" : "Campos" }
{ "_id" : ObjectId("5a0dcbdc6dd8b456f1b39f65"), "nombre" : "Juan", "apellido" : "Perez", "genero" : "femenino" }
{ "_id" : ObjectId("5a0dcc296dd8b456f1b39f66"), "nombre" : "Juan", "apellido" : "Lopez" }
{ "_id" : ObjectId("5a0dceb19705684e76048b3f"), "nombre" : "Maria", "apellido" : "Morales" }
> db.clientes.update({nombre:"Juan"},{$rename:{"genero":"sexo"}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.clientes.find();
{ "_id" : ObjectId("5a0dc8e56dd8b456f1b39f61"), "nombre" : "Rod", "apellido" : "Campos" }
{ "_id" : ObjectId("5a0dcbdc6dd8b456f1b39f65"), "nombre" : "Juan", "apellido" : "Perez", "sexo" : "femenino" }
{ "_id" : ObjectId("5a0dcc296dd8b456f1b39f66"), "nombre" : "Juan", "apellido" : "Lopez" }
{ "_id" : ObjectId("5a0dceb19705684e76048b3f"), "nombre" : "Maria", "apellido" : "Morales" }
> db.clientes.remove({nombre:"Juan"},{justOne:true});
WriteResult({ "nRemoved" : 1 })
> db.clientes.find();
{ "_id" : ObjectId("5a0dc8e56dd8b456f1b39f61"), "nombre" : "Rod", "apellido" : "Campos" }
{ "_id" : ObjectId("5a0dcc296dd8b456f1b39f66"), "nombre" : "Juan", "apellido" : "Lopez" }
{ "_id" : ObjectId("5a0dceb19705684e76048b3f"), "nombre" : "Maria", "apellido" : "Morales" }se meten mas elementos
>db.clientes.insert([
... {
... nombres:"Ricardo",
... apellidos:"Rodriguez",
... edad:35,
... membresias: ["normal","platino"],
... direccion:{
... calle:"Yacatas 12",
... ciudad:"Mexico",
... estado:"Mexico"
... },
... contactos:[
... {nombre:"Mauricio", relacion:"hermano"},
... {nombre:"Tere", relacion:"tia"}
... ],
... balance:999.23
... },
... {
... nombres:"Adriana",
... apellidos:"Cuervo",
... edad:27,
... membresias: "plus",
... direccion:{
... calle:"rododendro 43",
... ciudad:"Jalapa",
... estado:"Veracruz"
... },
... contactos:[
... {nombre:"Marco", relacion:"hijo"},
... {nombre:"Carlo", relacion:"hijo"}
... ],
... balance:743.21
... },
... {
... nombres:"Susana",
... apellidos:"Prado",
... edad:18,
... membresias: "simple",
... direccion:{
... calle:"Amargura 98",
... ciudad:"Merida",
... estado:"Yucatan"
... },
... contactos:{nombre:"Jessica", relacion:"hija"},
... balance:34.44
... },
... {
... nombres:"Papa",
... apellidos:"Gorgorio",
... edad:76,
... membresias: ["santa","platino"],
... direccion:{
... calle:"Iglecia 4",
... ciudad:"Roma",
... estado:"Vaticano"
... },
... contactos:[
... {nombre:"Lady Gaga", relacion:"amiga"},
... {nombre:"Jorge Bush", relacion:"enemigo"}
... ],
... balance:2434589.23
... }]);
BulkWriteResult({
"writeErrors" : [ ],
"writeConcernErrors" : [ ],
"nInserted" : 4,
"nUpserted" : 0,
"nMatched" : 0,
"nModified" : 0,
"nRemoved" : 0,
"upserted" : [ ]
})
> db.clientes.find();
{ "_id" : ObjectId("5a0dc8e56dd8b456f1b39f61"), "nombre" : "Rod", "apellido" : "Campos" }
{ "_id" : ObjectId("5a0dcc296dd8b456f1b39f66"), "nombre" : "Juan", "apellido" : "Lopez" }
{ "_id" : ObjectId("5a0dceb19705684e76048b3f"), "nombre" : "Maria", "apellido" : "Morales" }
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f67"), "nombres" : "Ricardo", "apellidos" : "Rodriguez", "edad" : 35, "membresias" : [ "normal", "platino" ], "direccion" : { "calle" : "Yacatas 12", "ciudad" : "Mexico", "estado" : "Mexico" }, "contactos" : [ { "nombre" : "Mauricio", "relacion" : "hermano" }, { "nombre" : "Tere", "relacion" : "tia" } ], "balance" : 999.23 }
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f68"), "nombres" : "Adriana", "apellidos" : "Cuervo", "edad" : 27, "membresias" : "plus", "direccion" : { "calle" : "rododendro 43", "ciudad" : "Jalapa", "estado" : "Veracruz" }, "contactos" : [ { "nombre" : "Marco", "relacion" : "hijo" }, { "nombre" : "Carlo", "relacion" : "hijo" } ], "balance" : 743.21 }
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f69"), "nombres" : "Susana", "apellidos" : "Prado", "edad" : 18, "membresias" : "simple", "direccion" : { "calle" : "Amargura 98", "ciudad" : "Merida", "estado" : "Yucatan" }, "contactos" : { "nombre" : "Jessica", "relacion" : "hija" }, "balance" : 34.44 }
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f6a"), "nombres" : "Papa", "apellidos" : "Gorgorio", "edad" : 76, "membresias" : [ "santa", "platino" ], "direccion" : { "calle" : "Iglecia 4", "ciudad" : "Roma", "estado" : "Vaticano" }, "contactos" : [ { "nombre" : "Lady Gaga", "relacion" : "amiga" }, { "nombre" : "Jorge Bush", "relacion" : "enemigo" } ], "balance" : 2434589.23 }
> db.clientes.update({nombres:"Adriana"},{$rename:{"nombres":"nombre"}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.clientes.update({nombres:"Ricardo"},{$rename:{"nombres":"nombre"}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.clientes.update({nombres:"Susana"},{$rename:{"nombres":"nombre"}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.clientes.update({nombres:"Papa"},{$rename:{"nombres":"nombre"}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.clientes.find()
{ "_id" : ObjectId("5a0dc8e56dd8b456f1b39f61"), "nombre" : "Rod", "apellido" : "Campos" }
{ "_id" : ObjectId("5a0dcc296dd8b456f1b39f66"), "nombre" : "Juan", "apellido" : "Lopez" }
{ "_id" : ObjectId("5a0dceb19705684e76048b3f"), "nombre" : "Maria", "apellido" : "Morales" }
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f67"), "apellidos" : "Rodriguez", "edad" : 35, "membresias" : [ "normal", "platino" ], "direccion" : { "calle" : "Yacatas 12", "ciudad" : "Mexico", "estado" : "Mexico" }, "contactos" : [ { "nombre" : "Mauricio", "relacion" : "hermano" }, { "nombre" : "Tere", "relacion" : "tia" } ], "balance" : 999.23, "nombre" : "Ricardo" }
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f68"), "apellidos" : "Cuervo", "edad" : 27, "membresias" : "plus", "direccion" : { "calle" : "rododendro 43", "ciudad" : "Jalapa", "estado" : "Veracruz" }, "contactos" : [ { "nombre" : "Marco", "relacion" : "hijo" }, { "nombre" : "Carlo", "relacion" : "hijo" } ], "balance" : 743.21, "nombre" : "Adriana" }
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f69"), "apellidos" : "Prado", "edad" : 18, "membresias" : "simple", "direccion" : { "calle" : "Amargura 98", "ciudad" : "Merida", "estado" : "Yucatan" }, "contactos" : { "nombre" : "Jessica", "relacion" : "hija" }, "balance" : 34.44, "nombre" : "Susana" }
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f6a"), "apellidos" : "Gorgorio", "edad" : 76, "membresias" : [ "santa", "platino" ], "direccion" : { "calle" : "Iglecia 4", "ciudad" : "Roma", "estado" : "Vaticano" }, "contactos" : [ { "nombre" : "Lady Gaga", "relacion" : "amiga" }, { "nombre" : "Jorge Bush", "relacion" : "enemigo" } ], "balance" : 2434589.23, "nombre" : "Papa" }
> db.clientes.find({nombre:"Adriana"});
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f68"), "apellidos" : "Cuervo", "edad" : 27, "membresias" : "plus", "direccion" : { "calle" : "rododendro 43", "ciudad" : "Jalapa", "estado" : "Veracruz" }, "contactos" : [ { "nombre" : "Marco", "relacion" : "hijo" }, { "nombre" : "Carlo", "relacion" : "hijo" } ], "balance" : 743.21, "nombre" : "Adriana" }
> db.clientes.find({$or:[{nombre:"Adriana"},{nombre:"Ricardo"}]})
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f67"), "apellidos" : "Rodriguez", "edad" : 35, "membresias" : [ "normal", "platino" ], "direccion" : { "calle" : "Yacatas 12", "ciudad" : "Mexico", "estado" : "Mexico" }, "contactos" : [ { "nombre" : "Mauricio", "relacion" : "hermano" }, { "nombre" : "Tere", "relacion" : "tia" } ], "balance" : 999.23, "nombre" : "Ricardo" }
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f68"), "apellidos" : "Cuervo", "edad" : 27, "membresias" : "plus", "direccion" : { "calle" : "rododendro 43", "ciudad" : "Jalapa", "estado" : "Veracruz" }, "contactos" : [ { "nombre" : "Marco", "relacion" : "hijo" }, { "nombre" : "Carlo", "relacion" : "hijo" } ], "balance" : 743.21, "nombre" : "Adriana" }
> db.clientes.find().pretty();
{
"_id" : ObjectId("5a0dc8e56dd8b456f1b39f61"),
"nombre" : "Rod",
"apellido" : "Campos"
}
{
"_id" : ObjectId("5a0dcc296dd8b456f1b39f66"),
"nombre" : "Juan",
"apellido" : "Lopez"
}
{
"_id" : ObjectId("5a0dceb19705684e76048b3f"),
"nombre" : "Maria",
"apellido" : "Morales"
}
{
"_id" : ObjectId("5a0dd0726dd8b456f1b39f67"),
"apellidos" : "Rodriguez",
"edad" : 35,
"membresias" : [
"normal",
"platino"
],
"direccion" : {
"calle" : "Yacatas 12",
"ciudad" : "Mexico",
"estado" : "Mexico"
},
"contactos" : [
{
"nombre" : "Mauricio",
"relacion" : "hermano"
},
{
"nombre" : "Tere",
"relacion" : "tia"
}
],
"balance" : 999.23,
"nombre" : "Ricardo"
}
{
"_id" : ObjectId("5a0dd0726dd8b456f1b39f68"),
"apellidos" : "Cuervo",
"edad" : 27,
"membresias" : "plus",
"direccion" : {
"calle" : "rododendro 43",
"ciudad" : "Jalapa",
"estado" : "Veracruz"
},
"contactos" : [
{
"nombre" : "Marco",
"relacion" : "hijo"
},
{
"nombre" : "Carlo",
"relacion" : "hijo"
}
],
"balance" : 743.21,
"nombre" : "Adriana"
}
{
"_id" : ObjectId("5a0dd0726dd8b456f1b39f69"),
"apellidos" : "Prado",
"edad" : 18,
"membresias" : "simple",
"direccion" : {
"calle" : "Amargura 98",
"ciudad" : "Merida",
"estado" : "Yucatan"
},
"contactos" : {
"nombre" : "Jessica",
"relacion" : "hija"
},
"balance" : 34.44,
"nombre" : "Susana"
}
{
"_id" : ObjectId("5a0dd0726dd8b456f1b39f6a"),
"apellidos" : "Gorgorio",
"edad" : 76,
"membresias" : [
"santa",
"platino"
],
"direccion" : {
"calle" : "Iglecia 4",
"ciudad" : "Roma",
"estado" : "Vaticano"
},
"contactos" : [
{
"nombre" : "Lady Gaga",
"relacion" : "amiga"
},
{
"nombre" : "Jorge Bush",
"relacion" : "enemigo"
}
],
"balance" : 2434589.23,
"nombre" : "Papa"
}
> db.clientes.find({edad:18});
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f69"), "apellidos" : "Prado", "edad" : 18, "membresias" : "simple", "direccion" : { "calle" : "Amargura 98", "ciudad" : "Merida", "estado" : "Yucatan" }, "contactos" : { "nombre" : "Jessica", "relacion" : "hija" }, "balance" : 34.44, "nombre" : "Susana" }
> db.clientes.find({edad:{$lt:30}}).pretty();
{
"_id" : ObjectId("5a0dd0726dd8b456f1b39f68"),
"apellidos" : "Cuervo",
"edad" : 27,
"membresias" : "plus",
"direccion" : {
"calle" : "rododendro 43",
"ciudad" : "Jalapa",
"estado" : "Veracruz"
},
"contactos" : [
{
"nombre" : "Marco",
"relacion" : "hijo"
},
{
"nombre" : "Carlo",
"relacion" : "hijo"
}
],
"balance" : 743.21,
"nombre" : "Adriana"
}
{
"_id" : ObjectId("5a0dd0726dd8b456f1b39f69"),
"apellidos" : "Prado",
"edad" : 18,
"membresias" : "simple",
"direccion" : {
"calle" : "Amargura 98",
"ciudad" : "Merida",
"estado" : "Yucatan"
},
"contactos" : {
"nombre" : "Jessica",
"relacion" : "hija"
},
"balance" : 34.44,
"nombre" : "Susana"
}
> db.clientes.find({edad:{$gt:30}}).pretty();
{
"_id" : ObjectId("5a0dd0726dd8b456f1b39f67"),
"apellidos" : "Rodriguez",
"edad" : 35,
"membresias" : [
"normal",
"platino"
],
"direccion" : {
"calle" : "Yacatas 12",
"ciudad" : "Mexico",
"estado" : "Mexico"
},
"contactos" : [
{
"nombre" : "Mauricio",
"relacion" : "hermano"
},
{
"nombre" : "Tere",
"relacion" : "tia"
}
],
"balance" : 999.23,
"nombre" : "Ricardo"
}
{
"_id" : ObjectId("5a0dd0726dd8b456f1b39f6a"),
"apellidos" : "Gorgorio",
"edad" : 76,
"membresias" : [
"santa",
"platino"
],
"direccion" : {
"calle" : "Iglecia 4",
"ciudad" : "Roma",
"estado" : "Vaticano"
},
"contactos" : [
{
"nombre" : "Lady Gaga",
"relacion" : "amiga"
},
{
"nombre" : "Jorge Bush",
"relacion" : "enemigo"
}
],
"balance" : 2434589.23,
"nombre" : "Papa"
}
> db.clientes.find({edad:{$eq:18}});
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f69"), "apellidos" : "Prado", "edad" : 18, "membresias" : "simple", "direccion" : { "calle" : "Amargura 98", "ciudad" : "Merida", "estado" : "Yucatan" }, "contactos" : { "nombre" : "Jessica", "relacion" : "hija" }, "balance" : 34.44, "nombre" : "Susana" }
> db.clientes.find({"direccion.ciudad":"Merida"});
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f69"), "apellidos" : "Prado", "edad" : 18, "membresias" : "simple", "direccion" : { "calle" : "Amargura 98", "ciudad" : "Merida", "estado" : "Yucatan" }, "contactos" : { "nombre" : "Jessica", "relacion" : "hija" }, "balance" : 34.44, "nombre" : "Susana" }
> db.clientes.find({"direccion.ciudad":"Mexico"});
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f67"), "apellidos" : "Rodriguez", "edad" : 35, "membresias" : [ "normal", "platino" ], "direccion" : { "calle" : "Yacatas 12", "ciudad" : "Mexico", "estado" : "Mexico" }, "contactos" : [ { "nombre" : "Mauricio", "relacion" : "hermano" }, { "nombre" : "Tere", "relacion" : "tia" } ], "balance" : 999.23, "nombre" : "Ricardo" }
> db.clientes.find({membresias:"plus"});
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f68"), "apellidos" : "Cuervo", "edad" : 27, "membresias" : "plus", "direccion" : { "calle" : "rododendro 43", "ciudad" : "Jalapa", "estado" : "Veracruz" }, "contactos" : [ { "nombre" : "Marco", "relacion" : "hijo" }, { "nombre" : "Carlo", "relacion" : "hijo" } ], "balance" : 743.21, "nombre" : "Adriana" }
> db.clientes.find().sort({apellidos:1}); // ascendente
{ "_id" : ObjectId("5a0dc8e56dd8b456f1b39f61"), "nombre" : "Rod", "apellido" : "Campos" }
{ "_id" : ObjectId("5a0dcc296dd8b456f1b39f66"), "nombre" : "Juan", "apellido" : "Lopez" }
{ "_id" : ObjectId("5a0dceb19705684e76048b3f"), "nombre" : "Maria", "apellido" : "Morales" }
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f68"), "apellidos" : "Cuervo", "edad" : 27, "membresias" : "plus", "direccion" : { "calle" : "rododendro 43", "ciudad" : "Jalapa", "estado" : "Veracruz" }, "contactos" : [ { "nombre" : "Marco", "relacion" : "hijo" }, { "nombre" : "Carlo", "relacion" : "hijo" } ], "balance" : 743.21, "nombre" : "Adriana" }
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f6a"), "apellidos" : "Gorgorio", "edad" : 76, "membresias" : [ "santa", "platino" ], "direccion" : { "calle" : "Iglecia 4", "ciudad" : "Roma", "estado" : "Vaticano" }, "contactos" : [ { "nombre" : "Lady Gaga", "relacion" : "amiga" }, { "nombre" : "Jorge Bush", "relacion" : "enemigo" } ], "balance" : 2434589.23, "nombre" : "Papa" }
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f69"), "apellidos" : "Prado", "edad" : 18, "membresias" : "simple", "direccion" : { "calle" : "Amargura 98", "ciudad" : "Merida", "estado" : "Yucatan" }, "contactos" : { "nombre" : "Jessica", "relacion" : "hija" }, "balance" : 34.44, "nombre" : "Susana" }
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f67"), "apellidos" : "Rodriguez", "edad" : 35, "membresias" : [ "normal", "platino" ], "direccion" : { "calle" : "Yacatas 12", "ciudad" : "Mexico", "estado" : "Mexico" }, "contactos" : [ { "nombre" : "Mauricio", "relacion" : "hermano" }, { "nombre" : "Tere", "relacion" : "tia" } ], "balance" : 999.23, "nombre" : "Ricardo" }
> db.clientes.find().sort({apellidos:-1}); // descendente
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f67"), "apellidos" : "Rodriguez", "edad" : 35, "membresias" : [ "normal", "platino" ], "direccion" : { "calle" : "Yacatas 12", "ciudad" : "Mexico", "estado" : "Mexico" }, "contactos" : [ { "nombre" : "Mauricio", "relacion" : "hermano" }, { "nombre" : "Tere", "relacion" : "tia" } ], "balance" : 999.23, "nombre" : "Ricardo" }
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f69"), "apellidos" : "Prado", "edad" : 18, "membresias" : "simple", "direccion" : { "calle" : "Amargura 98", "ciudad" : "Merida", "estado" : "Yucatan" }, "contactos" : { "nombre" : "Jessica", "relacion" : "hija" }, "balance" : 34.44, "nombre" : "Susana" }
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f6a"), "apellidos" : "Gorgorio", "edad" : 76, "membresias" : [ "santa", "platino" ], "direccion" : { "calle" : "Iglecia 4", "ciudad" : "Roma", "estado" : "Vaticano" }, "contactos" : [ { "nombre" : "Lady Gaga", "relacion" : "amiga" }, { "nombre" : "Jorge Bush", "relacion" : "enemigo" } ], "balance" : 2434589.23, "nombre" : "Papa" }
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f68"), "apellidos" : "Cuervo", "edad" : 27, "membresias" : "plus", "direccion" : { "calle" : "rododendro 43", "ciudad" : "Jalapa", "estado" : "Veracruz" }, "contactos" : [ { "nombre" : "Marco", "relacion" : "hijo" }, { "nombre" : "Carlo", "relacion" : "hijo" } ], "balance" : 743.21, "nombre" : "Adriana" }
{ "_id" : ObjectId("5a0dc8e56dd8b456f1b39f61"), "nombre" : "Rod", "apellido" : "Campos" }
{ "_id" : ObjectId("5a0dcc296dd8b456f1b39f66"), "nombre" : "Juan", "apellido" : "Lopez" }
{ "_id" : ObjectId("5a0dceb19705684e76048b3f"), "nombre" : "Maria", "apellido" : "Morales" }
> db.clientes.update({},{$rename:{"apellidos":"apellido"}}, {upsert:false, multi:true});
WriteResult({ "nMatched" : 7, "nUpserted" : 0, "nModified" : 4 })
> db.clientes.find().sort({apellido:-1});
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f67"), "edad" : 35, "membresias" : [ "normal", "platino" ], "direccion" : { "calle" : "Yacatas 12", "ciudad" : "Mexico", "estado" : "Mexico" }, "contactos" : [ { "nombre" : "Mauricio", "relacion" : "hermano" }, { "nombre" : "Tere", "relacion" : "tia" } ], "balance" : 999.23, "nombre" : "Ricardo", "apellido" : "Rodriguez" }
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f69"), "edad" : 18, "membresias" : "simple", "direccion" : { "calle" : "Amargura 98", "ciudad" : "Merida", "estado" : "Yucatan" }, "contactos" : { "nombre" : "Jessica", "relacion" : "hija" }, "balance" : 34.44, "nombre" : "Susana", "apellido" : "Prado" }
{ "_id" : ObjectId("5a0dceb19705684e76048b3f"), "nombre" : "Maria", "apellido" : "Morales" }
{ "_id" : ObjectId("5a0dcc296dd8b456f1b39f66"), "nombre" : "Juan", "apellido" : "Lopez" }
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f6a"), "edad" : 76, "membresias" : [ "santa", "platino" ], "direccion" : { "calle" : "Iglecia 4", "ciudad" : "Roma", "estado" : "Vaticano" }, "contactos" : [ { "nombre" : "Lady Gaga", "relacion" : "amiga" }, { "nombre" : "Jorge Bush", "relacion" : "enemigo" } ], "balance" : 2434589.23, "nombre" : "Papa", "apellido" : "Gorgorio" }
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f68"), "edad" : 27, "membresias" : "plus", "direccion" : { "calle" : "rododendro 43", "ciudad" : "Jalapa", "estado" : "Veracruz" }, "contactos" : [ { "nombre" : "Marco", "relacion" : "hijo" }, { "nombre" : "Carlo", "relacion" : "hijo" } ], "balance" : 743.21, "nombre" : "Adriana", "apellido" : "Cuervo" }
{ "_id" : ObjectId("5a0dc8e56dd8b456f1b39f61"), "nombre" : "Rod", "apellido" : "Campos" }
> db.clientes.find({ },{apellido:1}).sort({apellido:-1});
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f67"), "apellido" : "Rodriguez" }
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f69"), "apellido" : "Prado" }
{ "_id" : ObjectId("5a0dceb19705684e76048b3f"), "apellido" : "Morales" }
{ "_id" : ObjectId("5a0dcc296dd8b456f1b39f66"), "apellido" : "Lopez" }
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f6a"), "apellido" : "Gorgorio" }
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f68"), "apellido" : "Cuervo" }
{ "_id" : ObjectId("5a0dc8e56dd8b456f1b39f61"), "apellido" : "Campos" }
> db.clientes.find({ },{apellido:1}).sort({apellido:1});
{ "_id" : ObjectId("5a0dc8e56dd8b456f1b39f61"), "apellido" : "Campos" }
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f68"), "apellido" : "Cuervo" }
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f6a"), "apellido" : "Gorgorio" }
{ "_id" : ObjectId("5a0dcc296dd8b456f1b39f66"), "apellido" : "Lopez" }
{ "_id" : ObjectId("5a0dceb19705684e76048b3f"), "apellido" : "Morales" }
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f69"), "apellido" : "Prado" }
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f67"), "apellido" : "Rodriguez" }
> db.clientes.find({ },{apellido:1,nombre:1,edad:1}).sort({apellido:1});
{ "_id" : ObjectId("5a0dc8e56dd8b456f1b39f61"), "nombre" : "Rod", "apellido" : "Campos" }
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f68"), "edad" : 27, "nombre" : "Adriana", "apellido" : "Cuervo" }
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f6a"), "edad" : 76, "nombre" : "Papa", "apellido" : "Gorgorio" }
{ "_id" : ObjectId("5a0dcc296dd8b456f1b39f66"), "nombre" : "Juan", "apellido" : "Lopez" }
{ "_id" : ObjectId("5a0dceb19705684e76048b3f"), "nombre" : "Maria", "apellido" : "Morales" }
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f69"), "edad" : 18, "nombre" : "Susana", "apellido" : "Prado" }
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f67"), "edad" : 35, "nombre" : "Ricardo", "apellido" : "Rodriguez" }
> db.clientes.find().count();
7
> db.clientes.find({edad:{$gt:30}}).count();
2
> db.clientes.find({edad:{$lt:30}}).count();
2
>
> db.clientes.update({},{$set:{sexo:"Masculino"}},{upsert:true,multi:true});
WriteResult({ "nMatched" : 6, "nUpserted" : 0, "nModified" : 6 })
> db.clientes.find();
{ "_id" : ObjectId("5a0dcc296dd8b456f1b39f66"), "nombre" : "Juan", "apellido" : "Lopez", "sexo" : "Masculino" }
{ "_id" : ObjectId("5a0dceb19705684e76048b3f"), "nombre" : "Maria", "apellido" : "Morales", "sexo" : "Masculino" }
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f67"), "edad" : 35, "membresias" : [ "normal", "platino" ], "direccion" : { "calle" : "Yacatas 12", "ciudad" : "Mexico", "estado" : "Mexico" }, "contactos" : [ { "nombre" : "Mauricio", "relacion" : "hermano" }, { "nombre" : "Tere", "relacion" : "tia" } ], "balance" : 999.23, "nombre" : "Ricardo", "apellido" : "Rodriguez", "sexo" : "Masculino" }
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f68"), "edad" : 27, "membresias" : "plus", "direccion" : { "calle" : "rododendro 43", "ciudad" : "Jalapa", "estado" : "Veracruz" }, "contactos" : [ { "nombre" : "Marco", "relacion" : "hijo" }, { "nombre" : "Carlo", "relacion" : "hijo" } ], "balance" : 743.21, "nombre" : "Adriana", "apellido" : "Cuervo", "sexo" : "Masculino" }
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f69"), "edad" : 18, "membresias" : "simple", "direccion" : { "calle" : "Amargura 98", "ciudad" : "Merida", "estado" : "Yucatan" }, "contactos" : { "nombre" : "Jessica", "relacion" : "hija" }, "balance" : 34.44, "nombre" : "Susana", "apellido" : "Prado", "sexo" : "Masculino" }
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f6a"), "edad" : 76, "membresias" : [ "santa", "platino" ], "direccion" : { "calle" : "Iglecia 4", "ciudad" : "Roma", "estado" : "Vaticano" }, "contactos" : [ { "nombre" : "Lady Gaga", "relacion" : "amiga" }, { "nombre" : "Jorge Bush", "relacion" : "enemigo" } ], "balance" : 2434589.23, "nombre" : "Papa", "apellido" : "Gorgorio", "sexo" : "Masculino" }
> db.clientes.find({"edad" : { $exists: false}});
{ "_id" : ObjectId("5a0dcc296dd8b456f1b39f66"), "nombre" : "Juan", "apellido" : "Lopez", "sexo" : "Masculino" }
{ "_id" : ObjectId("5a0dceb19705684e76048b3f"), "nombre" : "Maria", "apellido" : "Morales", "sexo" : "Masculino" }
>db.clientes.update({}, {$set{borra:10}},{true,true});
>db.clientes.update({"edad" : { $exists: false}},{ $set{edad:15}},{upsert:true,multi:true});
>db.clientes.find({genero:"masculino"}).count();
> db.clientes.find().limit(3);
{ "_id" : ObjectId("5a0dcc296dd8b456f1b39f66"), "nombre" : "Juan", "apellido" : "Lopez", "sexo" : "Masculino" }
{ "_id" : ObjectId("5a0dceb19705684e76048b3f"), "nombre" : "Maria", "apellido" : "Morales", "sexo" : "Masculino" }
{ "_id" : ObjectId("5a0dd0726dd8b456f1b39f67"), "edad" : 35, "membresias" : [ "normal", "platino" ], "direccion" : { "calle" : "Yacatas 12", "ciudad" : "Mexico", "estado" : "Mexico" }, "contactos" : [ { "nombre" : "Mauricio", "relacion" : "hermano" }, { "nombre" : "Tere", "relacion" : "tia" } ], "balance" : 999.23, "nombre" : "Ricardo", "apellido" : "Rodriguez", "sexo" : "Masculino" }>db.clientes.find().limit(4).sort({apellido:1});
> db.clientes.find().forEach(function(doc){print("cliente : " + doc.nombre + " " + doc.apellido)});
cliente : Juan Lopez
cliente : Maria Morales
cliente : Ricardo Rodriguez
cliente : Adriana Cuervo
cliente : Susana Prado
cliente : Papa Gorgorio
> db.clientes.update({"edad" : { $exists: false}},{$set:{edad:15}},{multi:true});
WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 })
> db.clientes.find().forEach(function(doc){print("cliente : " + doc.apellido + " " + doc.nombre + " edad: " + doc.edad)});
cliente : Lopez Juan edad: 15
cliente : Morales Maria edad: 15
cliente : Rodriguez Ricardo edad: 35
cliente : Cuervo Adriana edad: 27
cliente : Prado Susana edad: 18
cliente : Gorgorio Papa edad: 76
> db.clientes.find().sort({apellido:1}).forEach(function(doc){print("cliente : " + doc.apellido + " " + doc.nombre + " edad: " + doc.edad)});
cliente : Cuervo Adriana edad: 27
cliente : Gorgorio Papa edad: 76
cliente : Lopez Juan edad: 15
cliente : Morales Maria edad: 15
cliente : Prado Susana edad: 18
cliente : Rodriguez Ricardo edad: 35
> db.clientes.find().sort({apellido:-1}).forEach(function(doc){print("cliente : " + doc.apellido + " " + doc.nombre + " edad: " + doc.edad)});
cliente : Rodriguez Ricardo edad: 35
cliente : Prado Susana edad: 18
cliente : Morales Maria edad: 15
cliente : Lopez Juan edad: 15
cliente : Gorgorio Papa edad: 76
cliente : Cuervo Adriana edad: 27
> db.clientes.find().sort({edad:1}).forEach(function(doc){print("cliente : " + doc.apellido + " " + doc.nombre + " edad: " + doc.edad)});
cliente : Lopez Juan edad: 15
cliente : Morales Maria edad: 15
cliente : Prado Susana edad: 18
cliente : Cuervo Adriana edad: 27
cliente : Rodriguez Ricardo edad: 35
cliente : Gorgorio Papa edad: 76
> db.clientes.find().sort({edad:-1}).forEach(function(doc){print("cliente : " + doc.apellido + " " + doc.nombre + " edad: " + doc.edad)});
cliente : Gorgorio Papa edad: 76
cliente : Rodriguez Ricardo edad: 35
cliente : Cuervo Adriana edad: 27
cliente : Prado Susana edad: 18
cliente : Lopez Juan edad: 15
cliente : Morales Maria edad: 15