Diferències
Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
| Següent revisió | Revisió prèvia | ||
| info:cursos:mongodbuniversity:m001:cap3 [14/12/2018 10:58] – creat mate | info:cursos:mongodbuniversity:m001:cap3 [15/12/2018 10:16] (actual) – [Challenge Problem] mate | ||
|---|---|---|---|
| Línia 29: | Línia 29: | ||
| == Element Operators | == Element Operators | ||
| - | <code javascript></ | + | === extras |
| - | <code javascript></ | + | * [[https:// |
| + | * {{ : | ||
| + | |||
| + | === operators | ||
| + | * '' | ||
| + | * '' | ||
| + | * null : pueden existir campos a NULL o no existir, ambos serán tratados igual | ||
| + | |||
| + | === ejemplos | ||
| + | películas que tienen el campo **mppaRating** (se podría hacer lo contrario cambiando a **false** | ||
| + | <code javascript> | ||
| + | |||
| + | películas que no tienen el campo **mppaRating** o que lo tienen = null | ||
| + | <code javascript> | ||
| + | |||
| + | películas que tienen el campo **viewerRating** como un **int32** | ||
| + | <code javascript> | ||
| + | |||
| + | == logical operators | ||
| + | === extras | ||
| + | * {{ : | ||
| + | |||
| + | === operators | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | === ejemplos | ||
| + | películas por dos campos (cualquier de ellos) | ||
| + | <code javascript> | ||
| + | {" | ||
| + | {_id: 0, title: 1, " | ||
| + | |||
| + | películas que cumplan los dos criterios a la vez | ||
| + | <code javascript> | ||
| + | {" | ||
| + | {_id: 0, title: 1, " | ||
| + | |||
| + | de hecho, la instrucción anterior es equivalente a esta otra (por defecto se usa un AND en las búsquedas): | ||
| + | <code javascript> | ||
| + | " | ||
| + | {_id: 0, title: 1, " | ||
| + | |||
| + | el uso del **$and** tiene sentido cuando el campo es el mismo y ha de cumplir más de un criterio | ||
| + | <code javascript> | ||
| + | | ||
| + | {_id: 0, title: 1, " | ||
| + | |||
| + | == array operators | ||
| + | === extras | ||
| + | * {{ : | ||
| + | |||
| + | |||
| + | * {{ : | ||
| + | * {{ : | ||
| + | |||
| + | === operators | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | === ejemplos | ||
| + | películas que en el campo (Array) **genres** contengan " | ||
| + | <code javascript> | ||
| + | {_id: 0, title: 1, genres: 1}).pretty() | ||
| + | </ | ||
| + | |||
| + | Películas que tienen en el campo **countries** de tipo Array un solo elemento: | ||
| + | <code javascript> | ||
| + | |||
| + | trabajar con un documento en memoria: | ||
| + | <code javascript> | ||
| + | mipelicula = db.movieDetails.findOne({title: | ||
| + | mipelicula // muestra el contenido de la variable | ||
| + | delete mipelicula._id // elimino el campo _id (para evitar duplicados al re-insertarlo) | ||
| + | mipelicula.nuevoCampo = " | ||
| + | db.movieDetails.insertOne(miPelicula); | ||
| + | </ | ||
| + | |||
| + | suponiendo que existe un campo llamado **boxOffice** que contiene un array de objetos tales: | ||
| + | <code javascript> | ||
| + | boxOffice: [ { " | ||
| + | { " | ||
| + | { " | ||
| + | { " | ||
| + | { " | ||
| + | </ | ||
| + | |||
| + | si hacemos una búsqueda de este tipo sin usar '' | ||
| + | <code javascript> | ||
| + | |||
| + | Si queremos buscar correctamente, | ||
| + | <code javascript> | ||
| + | |||
| + | == regex operator | ||
| + | === extras | ||
| + | * {{ : | ||
| + | |||
| + | === operators | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | === ejemplos | ||
| + | en ese caso la REGEX usada funciona: | ||
| + | * ''/'' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | <code javascript> | ||
| + | </ | ||
| + | |||
| + | == Challenge Problem | ||
| + | Connect to our class Atlas cluster from the mongo shell or Compass and view the results.scores collection. How many documents contain at least one score in the results array that is greater than or equal to 70 and less than 80? | ||
| + | <code javascript> | ||
| + | |||
| + | <code javascript> | ||
| + | |||
| + | == Final Exam | ||
| + | <button collapse=" | ||
| + | |||
| + | < | ||
| + | |||
| + | * 4: Please connect to the M001 class Atlas cluster. You may answer this question using either the mongo shell or Compass. | ||
| + | |||
| + | For this question we will use the citibike database. | ||
| + | |||
| + | How many documents in the citibike.trips collection have the key tripduration set to null? Ignore any documents that do not contain the tripduration key.< | ||
| + | * 6: Please connect to the M001 class Atlas cluster from the mongo shell or Compass and view the video.movies collection. How many movies match the following criteria? | ||
| + | |||
| + | The cast includes either of the following actors: "Jack Nicholson", | ||
| + | The viewerRating is greater than 7. | ||
| + | The mpaaRating is " | ||
| + | |||
| + | </ | ||