Subido por Edw Paucar

comandosMDB

Anuncio
//BASE DE DATOS DE PRUEBA
db.users.insertMany([
{
user:'@jonmircha',
user_date:ISODate(),
email: '[email protected]',
password: 'my password'
},
{
user:'@test1',
user_date:ISODate(),
email: '[email protected]',
password: 'my password'
},
{
user:'@test2',
user_date:ISODate(),
email: '[email protected]',
password: 'my password'
},
{
user:'@test3',
user_date:ISODate(),
email: '[email protected]',
password: 'my password'
},
{
user:'@test4',
user_date:ISODate(),
email: '[email protected]',
password: 'my password'
}
])
++++++++++++++++++++++++++++++++++++
//ACTUALIZACIÓN EN MASA
db.users.update(
{user: '@test1'},
{
$set:{
age : 17,
balance: 10,
hobbies: ['peliculas','serias','comics']
}
}
)
db.users.update(
{user: '@test2'},
{
$set:{
age : 25,
balance: 50,
hobbies: ['nadar','cocinar','dormir']
}
}
)
db.users.update(
{user: '@test3'},
{
$set:{
age : 50,
balance: 500,
hobbies: ['peliculas','cocinar','leer']
}
}
)
db.users.update(
{user: '@test4'},
{
$set:{
age : 27,
balance: 210,
hobbies: ['hacer ejercicios','series','dormir']
}
}
)
+++++++++++++++++++++++++++++++++++++++++++++++++++++
COMANDOS MONGO DATABASE
db.alumnos.drop()
db.dropDatabase()
use edteam
db.users.insert({msg:'Hola Mongo'})
show dbs
//obtenr los resultados
db.getCollection('users').find({})
db.().find().pretty
//encontar un documento en particulas
db.users.find({name:"apis-cli"})
//para eliminar un documento en particular
db.users.remove({name:"apis-cli"})
//eliminar toda la colleccion
db.users.remove({})
//fecha
ISODate()
new Date() //ambas dan el mismo formato de fecha
//INGRESANDO DATOS
db.users.insert({
user:'@jonmircha',
user_date:ISODate(),
email: '[email protected]',
password: 'my password'
})
//INSETANDO MUCHAS DATOS A LA VEZ
db.users.insertMany([
{
user:'@jonmircha',
user_date:ISODate(),
email: '[email protected]',
password: 'my password'
},
{
user:'@test1',
user_date:ISODate(),
email: '[email protected]',
password: 'my password'
},
{
user:'@test2',
user_date:ISODate(),
email: '[email protected]',
password: 'my password'
},
{
user:'@test3',
user_date:ISODate(),
email: '[email protected]',
password: 'my password'
}
])
//MODIFICANDO EL _id QUE VIENE POR DEFECTO EN LOS DOCUMENTOS
db.users.insert(
{
_id: '@test5'
user:'@test5',
user_date:ISODate(),
email: '[email protected]',
password: 'my password'
})
//MODIFICANDO LOS LOS DOCUMENTOS
db.users.update({user:'@test4'},{email:"test4.com4"})
db.users.update(obj.a modificar,obj.con la modificacion)
//pero se truca solo con el dato que se modifica :"v
//PARA MODIFICAR UN DOCUMENTO SIN truncar los demás datos
db.users.update(
{user:'@test4'},
{
$set :{
email:"test4.4"
}
}
)
//si no existe el elemeto a modificar crea uno nuevo
db.users.update(
{user:'@test1'},
{
$set :{
web:"test1.com.pe"
}
}
)
//en este caso creara uno nuevo llamdo web
//QUITANDO UN ELEMENTO AUN DOCUMENTO UNSET (IMPORTANTE)
db.users.update(
{user:'@test1'},
{
$Nset :{
web:"test1.com.pe"
}
}
)
//PUSH MODIFICA O AGREGA UN ELEMENTO(lo convierte en arreglo) EN FORMATO DE UN ARREGLO
db.users.update(
{user:'@test1'},
{
$push :{
web:"test1.com.pe"
}
}
)
//PULL QUITA ELEMENTOS DE UN ELEMENTO GUARDADO COMO UN ARREGLO
db.users.update(
{user:'@test1'},
{
$pull :{
web:"test1.com.pe"
}
}
)
//AGREDAR O QUITAR EN VARIABLES NUMERICAS UNA CATIDAD DATA
db.users.update(
{user:'@test1'},
{
$inc :{
saldo: -500 //IMPORTANTE EL SIMBOLO DE +
}
}
)
//CUANOD TE EQUIVOCAS EN ESCRIBIR EL NOMBRE UN UNA VARIABLE ENT U DOCUMENTO LO PUEDES CAMBIAR CON rename
db.users.update(
{user:'@test1'},
{
$rename :{
user_mane: 'user_name'
}
}
)
//AGREGAR Y MODIFICAR MAS UN CONTENIDO db.users.update(
{user:'@test1'},
{
$set :{
bio : 'Biografia del Usuario'
},
$inc: {
saldo: +500
}
}
)
//MODIFICAR MUCHOS DOCUMENTOS O ACTUALIZARLOS
db.users.updateMany(
{},
{
$set :{
bio : 'Biografia del Usuario'
}
}
)
//ANTIGUAS VERSIONES ACTUAIZAN DE LA SIGUIENTE MANERA
db.users.updateMany(
{},
{
$set :{
bio : 'Biografia del Usuario'
}
},
{multi: true}
)
//SORT ORDENAR
//de forma ascenndeste 1 descendente -1
//se puede cambiar _id por cualquier campo
db.users.find().sort({
_id:1
})
//ORDENAR POR MAS DE UN PARAMETRO
db.users.find().sort({
_id:1,
user:1
})
//CONTAR ELEMENTOS
db.users.find().count()
//contar elemento de un campo en especial
db.users.find({user:'@test2'}).count()
//BUSQUEDA CON EXPRESIONES REGULARES
db.users.find({email:/@gmail/}) //ver cuales tienen @gmail
db.users.find({email:/^test/}) //cuantos empiezan con la palabra test
db.users.find({email:/.com$/}) //que termine con .com
db.users.find({email:/@gmail.com$/}) //los que terminan en @gmail.com
&&PLUSSSS AÑADIENDO DATOS A LA BASE DE DATOS
db.users.update(
{user: '@jonnircha'}.
{
$set:{
user_name: {
firt:'jonathan',
last:'MirCha'
}
}
}
)
//CONSULTA CON NOTACIÓN DE PUNTO(cuando tienen más de un elemento)
db.users.find({'user_name.first':'jonathan'})
//consulta por expresiones regulares
db.users.find({'user_name.last':/Cha$/}) //que terminen con Cha
db.users.find({'user_name.first':/^usu/}) //Cuando comienzan con usu
//OPERADORES DE COMPARACIÓN //mayores a 25 después en el campo age
db.users.find({
age: {
$gt:25
}
})
//mayores o iguales a 25
db.users.find({
age: {
$gte:25
}
})
//menor o igual
db.users.find({
age: {
$lte:25
}
})
//OTROS OPERADORES: eq, ne(not equal)
//CONSULTAS EN ARRAY
//Documentos en donde los usuarios son peliculas (palabra in)
db.users.find({
hobbies: {
$in:['peliculas']
}
})
//documentos donde haya por lo menos uno de los dos hobbies
db.users.find({
hobbies: {
$in:['hacer ejercicio', 'leer']
}
})
//documentos que no tengan elementos
db.users.find({
hobbies:{
$nin:['comics']
}
})
//que no tenga mas de uno (funciona como un or basta que no tenga comics or peliculas)
db.users.find({
hobbies:{
$nin:['comics', 'peliculas']
}
})
//simulación de between de sql db.users.find({
balance:{
$gte: 50, //mayor o igual que 50
$lte: 200 //menor o igual que 200
}
})
//combinacion de más de una consulta
db.users.find({
balance:{
$gt: 100,
$lte: 500
},
age: {
$gt:18
}
})
++++++++++++++++++++++
db.users.find({
balance:{
$gte: 100,
$lte: 500
},
age: {
$gt:18
}
hobbies: {
$in: ['hacer ejercicio']
}
})
===================================================
//OPERADORES LÓGICOS //la expresion que utiliza (expresiones regulares) se usa (not)
//la expresion que no utiliza (expresiones regulars) se usa (nor)
//cadenas de texto con comilla '..' se una nor
//expresiones regulares entre slashs /.../ se una not
//los documentos que no contengas jonmircha
db.users.find({
user:{
$not: /jonmircha/
}
})
//nor utilica un array para evaluar valores
//traigame todos lo objeto en los que en su balance non tengan más de 100
db.users.find({
$nor:[
{balance: { $gt:100}}
] })
//cuandos se desea hacer varias negaciones(toma los dos como uno)
db.users.find({
$nor:[
{balance: { $gt:100}},
{age: {$lte: 17}}
] })
//OR los documentos que cumplas con una de las condiciones db.users.find({
$or:[
{balance: { $gt:100}},
{age: {$lte: 17}}
] })
//AND QUE CUMPLA CON LAS DOS CONDICIONES
db.users.find({
$and:[
{balance: { $gt:100}},
{age: {$gt: 17}}
] })
//OPERADORES COMPLEMENTARIOS TYPE(devuelve los documentos que exitan con el tipo) EXIST
//pide todos los valores de AGE que coincidad con el tipo STRING
db.users.find({
age: {
$type:'string'
}
})
//pide todos los valores de AGE que coincidad con el tipo NUMERIC
db.users.find({
age: {
$type:'double'
}
})
//user_name en el ejemplo era un objeto (estaba entre {})
db.users.find({
user_name: {
$type:'object'
}
})
//hobbies es un array
db.users.find({
hobbies: {
$type:'array'
}
})
//date
db.users.find({
user_date: {
$type:'date'
}
})
//OPREADOR EXITS
//me devolveran los documento que tengan el atributo country
db.users.find({
country: {
$exists: true //IMPORTANTE
}
})
//me devolveran los documento que NO tengan el atributo country
db.users.find({
country: {
$exists: false //IMPORTANTE
}
})
++++++++++++++++++++++++++++++++++++++
Actualización esporadica
db.users.update(
{user: '@jonmircha'},
{
$set: {
country: 'Mexico'
}
}
)
++++++++++++++++++++++++++++++++++++++
db.users.update(
{user: '@jonmircha'},
{
$set: {
password: hex_md5('My Awesome P4ssWORd')
}
}
)
++++++++++++++++++++++++++++++++++++++
//OPERADOR WHERE
//verificación de la contraseña db.users.find({
$where: function () {
return (hex_md5('My Awesome P4ssWORd')) === this.password
}
})
//aclaración ecmascrip5 ecmascrip6 las arrowfunction(su contexto de this es el global en este caso users)
//(encambio el contexto de ecmascrip5 iene el cotexto local el de los datos de users en este caso)
Descargar