Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Ambdós costats versió prèvia Revisió prèvia
Següent revisió
Revisió prèvia
info:cursos:mongodbuniversity:m001:cap2 [10/12/2018 14:02] – [Update Operators] mateinfo:cursos:mongodbuniversity:m001:cap2 [14/12/2018 10:21] (actual) – [conexión] mate
Línia 18: Línia 18:
   * modificar path   * modificar path
  
-=== conexión+=== conexión RS curso
 <code bash> <code bash>
 mongo "mongodb://cluster0-shard-00-00-jxeqq.mongodb.net:27017,cluster0-shard-00-01-jxeqq.mongodb.net:27017,cluster0-shard-00-02-jxeqq.mongodb.net:27017/test?replicaSet=Cluster0-shard-0" --authenticationDatabase admin --ssl --username m001-student --password m001-mongodb-basics mongo "mongodb://cluster0-shard-00-00-jxeqq.mongodb.net:27017,cluster0-shard-00-01-jxeqq.mongodb.net:27017,cluster0-shard-00-02-jxeqq.mongodb.net:27017/test?replicaSet=Cluster0-shard-0" --authenticationDatabase admin --ssl --username m001-student --password m001-mongodb-basics
Línia 32: Línia 32:
   * creación cluster en AWS (free tier)   * creación cluster en AWS (free tier)
   * settings   * settings
-    * project name: *M001*+    * project name: **M001**
   * Security   * Security
     * IP Whitelist -> Allow access from anywhere     * IP Whitelist -> Allow access from anywhere
Línia 47: Línia 47:
   * descargar datos de ejemplo y cargar en mi cluster   * descargar datos de ejemplo y cargar en mi cluster
   * ''load("loadMovieDetailsDataset.js")''   * ''load("loadMovieDetailsDataset.js")''
 +{{ :info:cursos:mongodbuniversity:m001:loadmoviedetailsdataset.zip |}}
  
 == Connecting to your sandbox cluster from Compass == Connecting to your sandbox cluster from Compass
Línia 114: Línia 115:
   * si intentamos introducir 2 documentos con el mismo **_id** dará un error y dejará de insertar documentos.    * si intentamos introducir 2 documentos con el mismo **_id** dará un error y dejará de insertar documentos. 
   * si le hemos indicado el **ordered: false**, no insertará aquellos que den errores, pero continuará insertando el resto   * si le hemos indicado el **ordered: false**, no insertará aquellos que den errores, pero continuará insertando el resto
 +{{ :info:cursos:mongodbuniversity:m001:insertmany.zip |}}
  
 == Lab 2.2 == Lab 2.2
Línia 236: Línia 238:
 añade tantos objetos en el array como hay añade tantos objetos en el array como hay
  
-  * ... otros en la página de MongoDB+  * ... otros en la página de MongoDB : [[https://docs.mongodb.com/manual/reference/operator/update/]]
  
 == UpdateMany() == UpdateMany()
 +  * modifica todos los documentos que cumplen el registro
 +<code javascript>
 +db.movieDetails.updateMany({
 +  rated: null
 +},{
 +  $unset: {
 +    rated: ""
 +  }
 +})
 +</code>
 +elimina el campo rated = null de todos los documentos
 +
 +== Upserts
 +  * crear nuevos documentos
 +<code javascript>
 +let detail={[...]}
 +
 +db.movieDetails.updateOne({
 +  "imdb.id": detail.imdb.id
 +},{
 +  $set: detail
 +},{
 +  upsert: true
 +})
 +</code>
 +  * **detail** contiene todos los campos del documento
 +  * **$set** intenta actualizar el documento
 +  * **upsert=true** inserta si no existe el documento previamente (que cumpla el criterio del primer parámetro)
 +
 +== 2.14 replaceOne()
 +  * para aplicaciones en las que es más fácil reemplazar todo el documento
 +  * ''detailDoc = db.movieDetails.findOne({"imdb.id": "tt...."});''
 +  * ''detailDoc.poster;'' : printea null, no está definido
 +  * ''detailDoc.poster = "http://....";'' ; añade el campo
 +  * ''detailDoc.genres.push("Documentary");'' este **push** es un método javascript, no el operador visto anteriormente, y añade el valor al array de **genres**
 +  * con todos estos cambios sobre el documento, hacemos un replaceOne() para actualizarlo todo
 +<code javascript>
 +db.movieDetails.replaceOne({"imdb.id": detailDoc.imdb.id}, detailDoc);
 +</code>
 +
 +== Delete
 +  * deleteOne()
 +  * deleteMany()
  
 +{{ :info:cursos:mongodbuniversity:m001:pasted:20181210-142929.png }}
 +{{ :info:cursos:mongodbuniversity:m001:loadreviewsdataset.zip |}}
  • info/cursos/mongodbuniversity/m001/cap2.1544479355.txt.gz
  • Darrera modificació: 10/12/2018 14:02
  • per mate