├── 2-3.json ├── 3-1.js └── README.md /2-3.json: -------------------------------------------------------------------------------- 1 | { 2 | "_id": "", 3 | "nome": "nome", 4 | "data_nascimento": "1990-10-05", 5 | "email": "pamela.apolinario.borges@gmail.com", 6 | "endereco": "Av Manoel Marques de Jesus, 380 - Vila Xavier, Araraquara/SP" 7 | } 8 | // Ou 9 | { 10 | "_id": "", 11 | "nome": "nome", 12 | "data_nascimento": "1990-10-05", 13 | "email": "pamela.apolinario.borges@gmail.com", 14 | "endereco": { 15 | "rua": "Av Manoel", 16 | "numero": 123, 17 | "cidade": "Araraquara", 18 | "estado": "SP" 19 | } 20 | } 21 | // ou 22 | { 23 | "_id": "", 24 | "nome": "nome", 25 | "data_nascimento": "1990-10-05", 26 | "email": "pamela.apolinario.borges@gmail.com", 27 | "enderecos": [ 28 | { 29 | "rua": "Av Manoel", 30 | "numero": 123, 31 | "cidade": "Araraquara", 32 | "estado": "SP" 33 | }, 34 | { 35 | "rua": "Av Do estado", 36 | "numero": 123, 37 | "cidade": "Araraquara", 38 | "estado": "SP" 39 | }, 40 | ] 41 | } 42 | 43 | { 44 | "_id": "", 45 | "nome": "nome destino", 46 | "descricao": "Descricao do destino" 47 | } -------------------------------------------------------------------------------- /3-1.js: -------------------------------------------------------------------------------- 1 | use viagens; 2 | 3 | db.createCollection("usuarios") 4 | db.createCollection("destinos") 5 | 6 | 7 | // Ou vc pode inserir diretamente um documento e ele já ira criar a collection 8 | db.usuarios_novo.insertOne({}); 9 | 10 | // Inserindo o primeiro documento 11 | db.usuarios.insertOne( 12 | { 13 | "nome": "nome", 14 | "data_nascimento": "1990-10-05", 15 | "email": "pamela.apolinario.borges@gmail.com", 16 | "endereco": "Av Manoel Marques de Jesus, 380 - Vila Xavier, Araraquara/SP" 17 | }); 18 | 19 | db.usuarios.insertMany([ 20 | { 21 | "nome": "Pamela", 22 | "idade": 30, 23 | "email": "pamela.apolinario.borges@gmail.com", 24 | "endereco": "Av Manoel Marques de Jesus, 380 - Vila Xavier, Araraquara/SP" 25 | }, 26 | { 27 | "nome": "Pamela", 28 | "idade": 31, 29 | "email": "pamela.apolinario.borges.outra@gmail.com", 30 | "endereco": "Av Manoel Marques de Jesus, 380 - Vila Xavier, Araraquara/SP" 31 | }, 32 | 33 | ]); 34 | 35 | db.destinos.insertOne({"nome":"Praia do Rosa", "descricao":"LInda praia"}) 36 | 37 | 38 | //Inserindo mais usuarios 39 | 40 | // Inserir documentos na coleção "usuarios" 41 | db.usuarios.insertMany([{ 42 | nome: "João", 43 | idade: 25, 44 | cidade: "São Paulo", 45 | estado: "SP", 46 | endereco: { 47 | rua: "Avenida Principal", 48 | numero: 123, 49 | cidade: "São Paulo", 50 | estado: "SP" 51 | } 52 | }, { 53 | nome: "Maria", 54 | idade: 30, 55 | cidade: "Rio de Janeiro", 56 | estado: "RJ", 57 | endereco: { 58 | rua: "Rua Secundária", 59 | numero: 456, 60 | cidade: "Rio de Janeiro", 61 | estado: "RJ" 62 | } 63 | },{ 64 | nome: "Carlos", 65 | idade: 20, 66 | cidade: "São Paulo", 67 | estado: "SP", 68 | endereco: { 69 | rua: "Rua Principal", 70 | numero: 789, 71 | cidade: "São Paulo", 72 | estado: "SP" 73 | } 74 | },{ 75 | nome: "Ana", 76 | idade: 35, 77 | cidade: "São Paulo", 78 | estado: "SP", 79 | endereco: { 80 | rua: "Avenida Secundária", 81 | numero: 1011, 82 | cidade: "São Paulo", 83 | estado: "SP" 84 | } 85 | } 86 | , 87 | { 88 | nome: "Pedro", 89 | idade: 28, 90 | cidade: "Belo Horizonte", 91 | estado: "MG", 92 | endereco: { 93 | rua: "Rua Principal", 94 | numero: 1314, 95 | cidade: "Belo Horizonte", 96 | estado: "MG" 97 | } 98 | }]); 99 | 100 | 101 | // Find 102 | db.usuarios.find({}); 103 | db.usuarios.find({"nome": "João"}); 104 | db.usuarios.findOne({"nome": "João"}); 105 | db.usuarios.findOneAndUpdate({ nome: "João" }, { $set: { idade: 26 } }); 106 | db.usuarios.findOneAndDelete({ nome: "João" }); 107 | 108 | // Update 109 | db.usuarios.updateOne( 110 | { nome: "João" }, 111 | { $set: { idade: 26 } } 112 | ); 113 | 114 | db.usuarios.updateMany( 115 | { cidade: "São Paulo" }, 116 | { $set: { estado: "SP" } } 117 | ); 118 | db.usuarios.replaceOne( 119 | { nome: "João" }, 120 | { 121 | nome: "John", 122 | idade: 27, 123 | cidade: "São Paulo", 124 | estado: "SP", 125 | endereco: { 126 | rua: "Avenida Principal", 127 | numero: 123 128 | } 129 | } 130 | ); 131 | 132 | // Update Operadores 133 | // Usando o operador $set para definir o valor de um campo específico 134 | db.usuarios.updateOne({ nome: "João" }, { $set: { idade: 26 } }); 135 | 136 | // Usando o operador $inc para incrementar o valor de um campo numérico 137 | db.usuarios.updateOne({ nome: "João" }, { $inc: { idade: 1 } }); 138 | 139 | // Usando o operador $rename para renomear um campo existente 140 | db.usuarios.updateOne({ nome: "João" }, { $rename: { "endereco.rua": "endereco.nomeRua" } }); 141 | 142 | // Usando o operador $unset para remover um campo específico de um documento 143 | db.usuarios.updateOne({ nome: "João" }, { $unset: { endereco: "" } }); 144 | 145 | // Delete 146 | // Usando o método deleteOne() para excluir o primeiro documento que corresponde ao filtro especificado 147 | db.usuarios.deleteOne({ nome: "João" }); 148 | 149 | // Usando o método deleteMany() para excluir todos os documentos que correspondem ao filtro especificado 150 | db.usuarios.deleteMany({ cidade: "São Paulo" }); 151 | 152 | 153 | // Operadores Lógicos 154 | db.usuarios.find({ $and: [{ idade: { $gte: 18 } }, { cidade: "São Paulo" }] }); 155 | 156 | db.usuarios.find({ $or: [{ idade: { $lt: 18 } }, { cidade: "Rio de Janeiro" }] }); 157 | 158 | db.usuarios.find({ idade: { $not: { $eq: 25 } } }); 159 | 160 | // Operadores de Comparação 161 | db.usuarios.find({ idade: { $eq: 25 } }); 162 | 163 | db.usuarios.find({ idade: { $ne: 30 } }); 164 | 165 | db.usuarios.find({ idade: { $gt: 30 } }); 166 | 167 | db.usuarios.find({ idade: { $gte: 30 } }); 168 | 169 | db.usuarios.find({ idade: { $lt: 30 } }); 170 | 171 | db.usuarios.find({ idade: { $lte: 30 } }); 172 | 173 | db.usuarios.find({ cidade: { $in: ["São Paulo", "Rio de Janeiro"] } }); 174 | 175 | db.usuarios.find({ cidade: { $nin: ["São Paulo", "Rio de Janeiro"] } }); 176 | 177 | 178 | // Projeção 179 | db.usuarios.find({}, { nome: 1, idade: 1 }) 180 | 181 | // Ordenação 182 | db.usuarios.find().sort({ idade: 1 }) 183 | // Limitação 184 | db.usuarios.find().limit(10) 185 | // Paginação 186 | db.usuarios.find().skip(10).limit(5) 187 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # dio-db-nosql --------------------------------------------------------------------------------