Skip to content

Commit dcb9a07

Browse files
authored
Merge pull request datastax#1121 from datastax/remove_unittest2
1 parent 68d9edb commit dcb9a07

File tree

1 file changed

+355
-0
lines changed

1 file changed

+355
-0
lines changed

examples/build5_cassandra

+355
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,355 @@
1+
import pymongo
2+
import os
3+
import time
4+
5+
# Funciones
6+
def insertar(documento, coleccion):
7+
collection = db[coleccion]
8+
sentencia = collection.insert_one(documento)
9+
if sentencia.acknowledged:
10+
print(f"El documento 'id:{sentencia.inserted_id}' se inserto correctamente.")
11+
else:
12+
print(f"El documento 'id:{sentencia.inserted_id}' no se pudo insertar.")
13+
14+
15+
# Actualización 1
16+
def actualizacion_1(collection):
17+
nombre_musico = input("Ingrese el nombre del músico: ")
18+
apellido_musico = input("Ingrese el apellido del músico: ")
19+
20+
descripcion = input("Ingrese la descripción de la habilidad: ")
21+
tipo = input("Ingrese el tipo de habilidad: ")
22+
nivel = input("Ingrese el nivel de habilidad: ")
23+
24+
habilidad = {"descripción": descripcion, "tipo": tipo, "nivel": nivel}
25+
26+
collection.update_one({"nombre": nombre_musico, "apellido": apellido_musico},
27+
{"$addToSet": {"habilidades": habilidad}})
28+
29+
# Actualización 2
30+
def actualizacion_2(collection):
31+
nombre_musico = input("Ingrese el nombre del músico: ")
32+
apellido_musico = input("Ingrese el apellido del músico: ")
33+
ciudad = input("Ingrese el nombre de la ciudad que desea agregar: ")
34+
35+
collection.update_one({"nombre": nombre_musico, "apellido": apellido_musico},
36+
{"$set": {"ciudad": ciudad}})
37+
38+
# Actualización 3
39+
def actualizcion_3(collection):
40+
nombre_banda = input("Ingrese el nombre de la banda: ")
41+
nombre_disco = input("Ingrese el nombre del disco: ")
42+
año_disco = int(input("Ingrese el año del disco: "))
43+
disco = {"nombre": nombre_disco, "año": año_disco}
44+
45+
collection.update_one({"nombre": nombre_banda},
46+
{"$addToSet": {"discos": disco}})
47+
48+
# Actualización 4
49+
def actualizacion_4(collection):
50+
nombre_banda = input("Ingrese el nombre de la banda: ")
51+
nombre_musico = input("Ingrese el nombre del músico: ")
52+
53+
musico = {"nombre": nombre_musico}
54+
55+
collection.update_one({"nombre": nombre_banda},
56+
{"$addToSet": {"musicos": musico}})
57+
58+
59+
# Actualización 5
60+
def actualizacion_5(collection):
61+
nombre_musico = input("Ingrese el nombre del músico: ")
62+
apellido_musico = input("Ingrese el apellido del músico: ")
63+
pais = input("Ingrese el nombre del país que reemplazará al anterior: ")
64+
65+
collection.update_one({"nombre": nombre_musico, "apellido": apellido_musico},
66+
{"$set": {"país": pais}})
67+
68+
# Actualización 6
69+
def actualizacion_6(collection):
70+
nombre_banda = input("Ingrese el nombre de la banda: ")
71+
nombre_disco = input("Ingrese el nombre del disco: ")
72+
73+
collection.update_one({"nombre": nombre_banda},
74+
{"$pull": {"discos": {"nombre": nombre_disco}}})
75+
76+
# Actualización 7
77+
def actualizacion_7(collection):
78+
nombre_musico = input("Ingrese el nombre del músico: ")
79+
apellido_musico = input("Ingrese el apellido del músico: ")
80+
descripcion = input("Ingrese la descripción de la habilidad: ")
81+
nivel = input("Ingrese el nuevo nivel de habilidad: ")
82+
83+
collection.update_one({"nombre": nombre_musico, "apellido": apellido_musico, "habilidades.descripción": descripcion},
84+
{"$set": {"habilidades.$.nivel": nivel}})
85+
86+
# Actualización 8
87+
def actualizacion_8(collection):
88+
nombre_banda = input("Ingrese el nombre de la banda: ")
89+
90+
comentarios_nuevos = []
91+
while True:
92+
comentario = input("Ingrese el comentario (o escriba 'salir' para terminar): ")
93+
if comentario.lower() == "salir":
94+
break
95+
else:
96+
comentarios_nuevos.append(comentario)
97+
98+
if comentarios_nuevos:
99+
collection.update_one({"nombre": nombre_banda},
100+
{"$addToSet": {"comentarios": {"$each": comentarios_nuevos}}})
101+
102+
103+
# Consulta 1
104+
def query_1(collection):
105+
for documento in collection.find():
106+
print(documento)
107+
108+
# Consulta 2
109+
def query_2(collection):
110+
for documento in collection.find({"habilidades.descripción": "guitarrista"}):
111+
print(documento)
112+
113+
# Consulta 3
114+
def query_3(collection):
115+
for documento in collection.find({"habilidades.tipo": "blusero"}):
116+
print(documento)
117+
118+
# Consulta 4
119+
def query_4(collection):
120+
for documento in collection.find({"discos.año": {"$gte": 2000, "$lte": 2010}}):
121+
nombre_banda = documento.get("nombre")
122+
discos = documento.get("discos", [])
123+
124+
for disco in discos:
125+
nombre_disco = disco.get("nombre")
126+
print(f"Banda: {nombre_banda}, Disco: {nombre_disco}")
127+
128+
# Eliminación 1
129+
def eliminacion_1_solista(collection):
130+
nombre_musico = input("Ingrese el nombre del músico solista: ")
131+
apellido_musico = input("Ingrese el apellido del músico solista: ")
132+
nombre_disco = input("Ingrese el nombre del disco a eliminar: ")
133+
134+
collection.update_one(
135+
{"nombre": nombre_musico, "apellido": apellido_musico},
136+
{"$pull": {"discos": {"nombre": nombre_disco}}}
137+
)
138+
139+
def eliminacion_1_banda(collection):
140+
nombre_banda = input("Ingrese el nombre de la banda: ")
141+
nombre_disco = input("Ingrese el nombre del disco a eliminar: ")
142+
143+
collection.update_one(
144+
{"nombre": nombre_banda},
145+
{"$pull": {"discos": {"nombre": nombre_disco}}}
146+
)
147+
148+
# Eliminación 2
149+
def eliminacion_2(collection):
150+
collection.delete_many({"modo": "Banda"})
151+
152+
153+
# Establecer la conexión a MongoDB
154+
client = pymongo.MongoClient("mongodb://localhost:27017/")
155+
db = client["final"]
156+
collection = db["musicos"]
157+
158+
documento1 = {
159+
"nombre": "Carlos",
160+
"apellido": "Santana",
161+
"modo": "Solista",
162+
"ciudad": "Los Angeles",
163+
"país": "USA",
164+
"habilidades": [
165+
{
166+
"descripción": "guitarrista",
167+
"tipo": "rockero",
168+
"nivel": "superlativo"
169+
}
170+
]
171+
}
172+
documento2 = {
173+
"nombre": "David",
174+
"apellido": "Lebon",
175+
"modo": "Solista",
176+
"habilidades": [
177+
{
178+
"descripción": "bajista",
179+
"tipo": "blusero",
180+
"nivel": "muy bueno"
181+
}
182+
]
183+
}
184+
documento3 = {
185+
"nombre": "Juana",
186+
"apellido": "Molina",
187+
"modo": "Solista",
188+
"ciudad": "Montevideo",
189+
"país": "Uruguay"
190+
}
191+
documento4 = {
192+
"nombre": "Angus",
193+
"apellido": "Young",
194+
"modo": "Solista",
195+
"ciudad": "Glasgow",
196+
"país": "Escocia",
197+
"habilidades": [
198+
{
199+
"descripción": "guitarrista",
200+
"nivel": "increible"
201+
}
202+
]
203+
}
204+
documento5 = {
205+
"nombre": "Ghost",
206+
"modo": "Banda",
207+
"ciudad": "Linköping",
208+
"país": "Suecia",
209+
"habilidades": [{"nombre": "Frontman"}],
210+
"inicio": 2006
211+
}
212+
documento6 = {
213+
"nombre": "Rammstein",
214+
"ciudad": "Berlín",
215+
"país": "Alemania",
216+
"modo": "Banda",
217+
"musicos": [
218+
{"nombre": "Christoph Schneider"}, {"nombre": "Oliver Riedel"}
219+
],
220+
"inicio": 1990
221+
}
222+
223+
224+
def menu():
225+
print("-----------------------------------")
226+
print("Bienvenido al menu de la aplicación")
227+
print("Opciones: ")
228+
print("Opción 1: Actualizar documentos")
229+
print("Opción 2: Realizar consultas")
230+
print("Opción 3: Eliminar documentos")
231+
print("-----------------------------------")
232+
collection = db["musicos"]
233+
opcion = input("Ingrese una opción: ")
234+
235+
if opcion == "1":
236+
print("--------------------------------------------------------------")
237+
print("Elija una actualización a realizar: ")
238+
print("1. Agregar habilidades a un musico.")
239+
print("2. Agregar una ciudad a un musico.")
240+
print("3. Agregar los discos a una banda.")
241+
print("4. Agregar los músicos a una banda.")
242+
print("5. Cambiar el país de nacimiento de un intérprete.")
243+
print("6. Eliminar el disco de una banda.")
244+
print("7. Cambiar el nivel de una habilidad.")
245+
print("8. Agregar comentarios a una banda (podrían ser más de uno).")
246+
print("--------------------------------------------------------------")
247+
opcion = input("Ingrese una opción: ")
248+
249+
if opcion == "1":
250+
actualizacion_1(collection)
251+
time.sleep(2)
252+
menu()
253+
254+
elif opcion == "2":
255+
actualizacion_2(collection)
256+
time.sleep(2)
257+
menu()
258+
259+
elif opcion == "3":
260+
actualizcion_3(collection)
261+
time.sleep(2)
262+
menu()
263+
264+
elif opcion == "4":
265+
actualizacion_4(collection)
266+
time.sleep(2)
267+
menu()
268+
269+
elif opcion == "5":
270+
actualizacion_5(collection)
271+
time.sleep(2)
272+
menu()
273+
274+
elif opcion == "6":
275+
actualizacion_6(collection)
276+
time.sleep(2)
277+
menu()
278+
279+
elif opcion == "7":
280+
actualizacion_7(collection)
281+
time.sleep(2)
282+
menu()
283+
284+
elif opcion == "8":
285+
actualizacion_8(collection)
286+
time.sleep(2)
287+
menu()
288+
289+
elif opcion == "2":
290+
print("--------------------------------------------------------------")
291+
print("Elija una consulta a realizar: ")
292+
print("1. Obtener todos los documentos")
293+
print("2. Obtener documentos con habilidad guitarrista.")
294+
print("3. Obtener documentos con habilidad blusero")
295+
print("4. Obtener los discos entre el año 2000 y 2010.")
296+
print("--------------------------------------------------------------")
297+
298+
opcion = input("Ingrese una opción: ")
299+
300+
if opcion == "1":
301+
query_1(collection)
302+
time.sleep(2)
303+
menu()
304+
305+
elif opcion == "2":
306+
query_2(collection)
307+
time.sleep(2)
308+
menu()
309+
310+
elif opcion == "3":
311+
query_3(collection)
312+
time.sleep(2)
313+
menu()
314+
315+
elif opcion == "4":
316+
query_4(collection)
317+
time.sleep(2)
318+
menu()
319+
320+
else:
321+
print("Opción inválida")
322+
time.sleep(2)
323+
menu()
324+
325+
elif opcion == "3":
326+
print("--------------------------------------------------------------")
327+
print("Elija una eliminación a realizar: ")
328+
print("1. Eliminar el disco Abraxas de Santana")
329+
print("2. Eliminar a las bandas de la colección")
330+
print("--------------------------------------------------------------")
331+
opcion = input("Ingrese una opción: ")
332+
333+
if opcion == "1":
334+
modo = input("Ingrese el modo del musico (solista o banda): ")
335+
if modo == "solista":
336+
eliminacion_1_solista(collection)
337+
time.sleep(2)
338+
menu()
339+
340+
elif modo == "banda":
341+
eliminacion_1_banda(collection)
342+
time.sleep(2)
343+
menu()
344+
345+
elif opcion == "2":
346+
eliminacion_2(collection)
347+
time.sleep(2)
348+
menu()
349+
350+
else:
351+
print("Opción inválida")
352+
time.sleep(2)
353+
menu()
354+
355+
menu()

0 commit comments

Comments
 (0)