jueves, 16 de noviembre de 2017

MongoDB Server Instalación y Command Line Practice

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

No hay comentarios:

Publicar un comentario