{"id":1908,"date":"2015-09-01T17:41:18","date_gmt":"2015-09-01T17:41:17","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=1908"},"modified":"2023-09-07T04:52:09","modified_gmt":"2023-09-07T11:52:09","slug":"scoremore-creating-document-objects-views","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/scoremore-creating-document-objects-views\/","title":{"rendered":"MarcadorM\u00e1s:  Creaci\u00f3n de vistas y ORM de b\u00e9isbol"},"content":{"rendered":"<p style=\"text-align:center\">\u00a0<\/p>\n<p style=\"margin-left:0in;text-align:justify\">Prepar\u00e1ndose para la temporada de b\u00e9isbol, <a href=\"https:\/\/scoremorebaseball.com\/\">ScoreMore B\u00e9isbol<\/a> acaba de dar en el clavo con el lanzamiento de su aplicaci\u00f3n en las principales plataformas m\u00f3viles.  Uno de los elementos diferenciadores de la aplicaci\u00f3n es el uso de <a href=\"https:\/\/www.couchbase.com\/blog\/es\/developers\/mobile\/\">Couchbase<\/a> que se discuti\u00f3 en el <a href=\"https:\/\/bit.ly\/blogcc13\">Blog ScoreMore with Couchbase Mobile<\/a>.  Exploraremos ahora en este blog c\u00f3mo la aplicaci\u00f3n dise\u00f1\u00f3 sus mapeadores de objetos y obtiene sus Vistas.\u00a0<\/p>\n<p style=\"margin-left:0in;text-align:justify\">Para ScoreMore, el dise\u00f1o del Mapa de Relaci\u00f3n de Objetos consiste en mantener un atributo espec\u00edfico para <em>\"tipo\"<\/em> para identificar el tipo de <em>\"objeto\"<\/em> es el documento.  En el b\u00e9isbol, un equipo est\u00e1 formado por miembros que desempe\u00f1an diversas funciones.  En el ejemplo siguiente, <em>\"tipo\": \"entrenador\"<\/em> es para un documento que contiene toda la informaci\u00f3n para un Entrenador durante el juego.  Otros roles ser\u00e1n definidos por sus respectivos <em>\"tipo\"<\/em><\/p>\n<pre style=\"text-align:left\">\r\n<code>1:  {  \r\n2:    \"email\": \"demo@example.com\",  \r\n3:    \"hash\": \"da5ce4f993719a61d531963e6242f4cb3091a497ed448c88dbn83m015\",  \r\n4:    \"salt\": \"Q29iamVjdCBJbnQ4QXJyYXlf\",  \r\n5:    \"type\": \"coach\"  \r\n6:  }  \r\n<\/code><\/pre>\n<p style=\"margin-left:0in\"><sub><em><strong>Nota:<\/strong> hash y salt son para el almacenamiento de contrase\u00f1as, _id y _rev no se muestran, ya que son generados autom\u00e1ticamente por Couchbase. Versiones legibles de _id ser\u00e1n usadas en futuros ejemplos, como \"coach_1\".<\/em><\/sub><\/p>\n<p style=\"margin-left:0in;text-align:justify\">En algunos documentos, el nodo de nivel inferior de una estructura puede enrollarse en una matriz en el documento propietario.  El ejemplo cl\u00e1sico es incluir todas las direcciones de un contacto en una matriz.  En ScoreMore Baseball, todas y cada una de las direcciones del bateador <em>\"hit\"<\/em> en una matriz para el partido en el que se produjeron.  Del mismo modo, para un equipo, el r\u00e9cord de victorias y derrotas de cada temporada se incluye en una matriz en el equipo.  De este modo, existe un primer grado de separaci\u00f3n y relaci\u00f3n claramente definido entre los atributos.<\/p>\n<pre style=\"text-align:left\">\r\n<code>1:  {  \r\n2:    \"coachid\": \"coach_1\",  \r\n3:    \"leagueid\": \"league_1\",  \r\n4:    \"name\": \"Dragons\",  \r\n5:    \"nameabbr\": \"DRG\",  \r\n6:    \"record\": [  \r\n7:      {  \r\n8:        \"losses\": 16,  \r\n9:        \"ties\": 2,  \r\n10:        \"wins\": 24,  \r\n11:        \"yearid\": 2014  \r\n12:      },  \r\n13:      {  \r\n14:        \"losses\": 3,  \r\n15:        \"ties\": 0,  \r\n16:        \"wins\": 7,  \r\n17:        \"yearid\": 2015  \r\n18:      }  \r\n19:    ],  \r\n20:    \"type\": \"team\"  \r\n21:  }  \r\n<\/code><\/pre>\n<p style=\"margin-left:0in;text-align:justify\">\u00a0<\/p>\n<p style=\"margin-left:0in;text-align:justify\">El equipo de Score More Baseball tambi\u00e9n mantiene ordenados los resultados del b\u00e9isbol en su <a href=\"https:\/\/developer.couchbase.com\/mobile\/develop\/guides\/couchbase-lite\/native-api\/view\/index.html\">Vistas,<\/a> donde cada Vista s\u00f3lo devuelve documentos de un \u00fanico <em>\"tipo\"<\/em>.  Con las vistas, la primera comprobaci\u00f3n ser\u00e1 una sentencia \"if-clause\", que validar\u00e1 los documentos que coincidan con un determinado criterio. <em>\"tipo\"<\/em>especificado mediante una comprobaci\u00f3n del <em>\"tipo\" <\/em>o contra un campo que es \u00fanico para ese tipo de documento. Un ejemplo a continuaci\u00f3n es la Vista de Gr\u00e1fico de Spray donde se muestra la ubicaci\u00f3n de cada golpe que el jugador ha realizado.<\/p>\n<p style=\"margin-left:0in;text-align:justify\">El c\u00f3digo siguiente comprueba primero si el documento (en este caso, un partido) contiene una matriz de aciertos para el equipo local o para el equipo visitante, omitiendo los documentos generados por la puerta de enlace de sincronizaci\u00f3n. A continuaci\u00f3n, itera a trav\u00e9s de todos esos aciertos, y si los par\u00e1metros de b\u00fasqueda del Jugador (especificados por <em>playerid<\/em>) para la temporada dada (especificada por '<em>a\u00f1oid<\/em>) coinciden con el acierto, entonces el <em>Golpe<\/em> se a\u00f1ade al conjunto de resultados. Cada ubicaci\u00f3n de resultado tiene un <em>'x'<\/em> y <em>'y'<\/em> as\u00ed como un <em>tipo<\/em>indicando si el golpe fue un fly ball, un line drive o un ground ball.<\/p>\n<pre style=\"text-align:left\">\r\n<code>1:  function (doc, meta) {  \r\n2:   if(doc.hometeambatting &amp;&amp; meta.id.substring(0,5) != \"_sync\") {  \r\n3:    for (i=0; i &lt; doc.hometeambatting.length; i++) {    \r\n4:      emit([doc.hometeambatting[i].playerid, doc.yearid],   \r\n5:       [doc.hometeambatting[i].x, doc.hometeambatting[i].y,  \r\n6:       doc.hometeambatting[i].hittype]);        \r\n7:    }  \r\n8:   }  \r\n9:   if(doc.awayteambatting &amp;&amp; meta.id.substring(0,5) != &quot;_sync&quot;) {  \r\n10:    for (i=0; i &lt; doc.awayteambatting.length; i++) {      \r\n11:      emit([doc.awayteambatting[i].playerid, doc.yearid],   \r\n12:       [doc.awayteambatting[i].x, doc.awayteambatting[i].y,  \r\n13:       doc.awayteambatting[i].hittype]);       \r\n14:    }  \r\n15:   }  \r\n16:  }  \r\n<\/code><\/pre>\n<p style=\"text-align:justify\">\u00a0<\/p>\n<p style=\"text-align:justify\">Por ejemplo, el siguiente gr\u00e1fico de bateo muestra la ubicaci\u00f3n de todos los bateos del \"jugador_1\" en la temporada 2015 teniendo (key=[\"jugador_1\", 2015]) Los puntos rojos representan fly balls, los puntos blancos son line drives y los puntos amarillos son ground balls.<\/p>\n<p style=\"text-align:center\">\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p style=\"margin-left:0in\">\u00a0<\/p>\n<p style=\"margin-left:0in;text-align:justify\">Por \u00faltimo, en el lado del cliente, ScoreMore utiliza estructuras JavaScript que son, en efecto, representaciones de objetos de los distintos tipos de documentos disponibles: Entrenador, Jugador, Equipo, Partido, etc. Los constructores de cada una de estas estructuras de objetos toman los resultados devueltos por la vista y los asignan a las propiedades del objeto. Yendo en la otra direcci\u00f3n (almacenar en la base de datos desde la aplicaci\u00f3n), JSON.stringify se utiliza para pasar de la estructura de objetos al formato JSON que Couchbase espera para la operaci\u00f3n POST.<\/p>\n<pre style=\"text-align:left\">\r\n<code>1:  function Coach( id, email, hash, salt, rev ) {  \r\n2:    this.coachID = id;  \r\n3:    this.email = email;  \r\n4:    this.hash = hash;  \r\n5:    this.salt = salt;  \r\n6:    this.rev = rev;  \r\n7:    this.someCoachFunction = function() {\/\/Do Something  \r\n8:    }  \r\n9:    this.toJSON = function() {  \r\n10:      return JSON.stringify( {  \r\n11:        _id: this.coachID,  \r\n12:        email: this.email,  \r\n13:        hash: this.hash,  \r\n14:        salt: this.salt,  \r\n15:        _rev: this.rev  \r\n16:      });  \r\n17:    }  \r\n18:  }  \r\n<\/code><\/pre>\n<p style=\"margin-left:0in\">\u00a0<\/p>\n<p style=\"margin-left:0in\">Escuche c\u00f3mo <a href=\"https:\/\/www.couchbase.com\/blog\/es\/developers\/mobile\/\">Couchbase M\u00f3vil<\/a> ha proporcionado al equipo de ScoreMore las herramientas tecnol\u00f3gicas necesarias para dar en el clavo en el campo de juego. <a href=\"https:\/\/bit.ly\/blogcc13\">Caf\u00e9 en Couchbase:  Blog ScoreMore with Couchbase Mobile<\/a> y aseg\u00farate de hacerte con la aplicaci\u00f3n que ya est\u00e1 disponible para <a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.scoremorebaseball.scoremore\">Android<\/a>, <a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.scoremorebaseball.scoremore\">iOS<\/a>y <a href=\"https:\/\/appworld.blackberry.com\/webstore\/content\/59949558\/?countrycode=US&amp;lang=en\">BlackBerry.<\/a><\/p>\n<p>\u00a0<\/p>","protected":false},"excerpt":{"rendered":"<p>\u00a0 Gearing for Baseball season, ScoreMore Baseball recently just hit it out of the ball park with their app release across all the major mobile platforms.\u00a0 One of the key differentiators for the app is the use of Couchbase that [&hellip;]<\/p>","protected":false},"author":30,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1],"tags":[],"ppma_author":[8983],"class_list":["post-1908","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.7 (Yoast SEO v26.7) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>ScoreMore: Creating Baseball ORM and Views - The Couchbase Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/es\/scoremore-creating-document-objects-views\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ScoreMore: Creating Baseball ORM and Views\" \/>\n<meta property=\"og:description\" content=\"\u00a0 Gearing for Baseball season, ScoreMore Baseball recently just hit it out of the ball park with their app release across all the major mobile platforms.\u00a0 One of the key differentiators for the app is the use of Couchbase that [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/scoremore-creating-document-objects-views\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2015-09-01T17:41:17+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-09-07T11:52:09+00:00\" \/>\n<meta name=\"author\" content=\"William Hoang, Mobile Developer Advocate, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"William Hoang, Mobile Developer Advocate, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/scoremore-creating-document-objects-views\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/scoremore-creating-document-objects-views\/\"},\"author\":{\"name\":\"William Hoang, Mobile Developer Advocate, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/425717456c198fdf9aaa5d7a6d42ad32\"},\"headline\":\"ScoreMore: Creating Baseball ORM and Views\",\"datePublished\":\"2015-09-01T17:41:17+00:00\",\"dateModified\":\"2023-09-07T11:52:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/scoremore-creating-document-objects-views\/\"},\"wordCount\":620,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/scoremore-creating-document-objects-views\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"articleSection\":[\"Uncategorized\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/scoremore-creating-document-objects-views\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/scoremore-creating-document-objects-views\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/scoremore-creating-document-objects-views\/\",\"name\":\"ScoreMore: Creating Baseball ORM and Views - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/scoremore-creating-document-objects-views\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/scoremore-creating-document-objects-views\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2015-09-01T17:41:17+00:00\",\"dateModified\":\"2023-09-07T11:52:09+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/scoremore-creating-document-objects-views\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/scoremore-creating-document-objects-views\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/scoremore-creating-document-objects-views\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/scoremore-creating-document-objects-views\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ScoreMore: Creating Baseball ORM and Views\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/425717456c198fdf9aaa5d7a6d42ad32\",\"name\":\"William Hoang, Mobile Developer Advocate, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/650445f1ea30314c4f3555dd680154f5\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/b912c9a97568a859697ee195432d0bd7cc3ed67d720ae2e6588b67313fa49e08?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/b912c9a97568a859697ee195432d0bd7cc3ed67d720ae2e6588b67313fa49e08?s=96&d=mm&r=g\",\"caption\":\"William Hoang, Mobile Developer Advocate, Couchbase\"},\"description\":\"William was a Developer Advocate on the Mobile Engineering\/Developer Experience team at Couchbase. His love for coffee and code has transcended him into the world of mobile while appreciating the offline in-person experiences. Prior, William worked on the Developer Relations team over at Twitter, BlackBerry, and Microsoft while also having been a Software Embedded GPS engineer at Research In Motion. William graduated from McGill University in Electrical Software Engineering\",\"url\":\"https:\/\/www.couchbase.com\/blog\/es\/author\/william-hoang\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"ScoreMore: Creating Baseball ORM and Views - The Couchbase Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/es\/scoremore-creating-document-objects-views\/","og_locale":"es_MX","og_type":"article","og_title":"ScoreMore: Creating Baseball ORM and Views","og_description":"\u00a0 Gearing for Baseball season, ScoreMore Baseball recently just hit it out of the ball park with their app release across all the major mobile platforms.\u00a0 One of the key differentiators for the app is the use of Couchbase that [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/es\/scoremore-creating-document-objects-views\/","og_site_name":"The Couchbase Blog","article_published_time":"2015-09-01T17:41:17+00:00","article_modified_time":"2023-09-07T11:52:09+00:00","author":"William Hoang, Mobile Developer Advocate, Couchbase","twitter_card":"summary_large_image","twitter_misc":{"Written by":"William Hoang, Mobile Developer Advocate, Couchbase","Est. reading time":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/scoremore-creating-document-objects-views\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/scoremore-creating-document-objects-views\/"},"author":{"name":"William Hoang, Mobile Developer Advocate, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/425717456c198fdf9aaa5d7a6d42ad32"},"headline":"ScoreMore: Creating Baseball ORM and Views","datePublished":"2015-09-01T17:41:17+00:00","dateModified":"2023-09-07T11:52:09+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/scoremore-creating-document-objects-views\/"},"wordCount":620,"commentCount":1,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/scoremore-creating-document-objects-views\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","articleSection":["Uncategorized"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/scoremore-creating-document-objects-views\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/scoremore-creating-document-objects-views\/","url":"https:\/\/www.couchbase.com\/blog\/scoremore-creating-document-objects-views\/","name":"ScoreMore: Creating Baseball ORM and Views - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/scoremore-creating-document-objects-views\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/scoremore-creating-document-objects-views\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2015-09-01T17:41:17+00:00","dateModified":"2023-09-07T11:52:09+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/scoremore-creating-document-objects-views\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/scoremore-creating-document-objects-views\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/scoremore-creating-document-objects-views\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/scoremore-creating-document-objects-views\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"ScoreMore: Creating Baseball ORM and Views"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"El blog de Couchbase","description":"Couchbase, la base de datos NoSQL","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"El blog de Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/425717456c198fdf9aaa5d7a6d42ad32","name":"William Hoang, Defensor del Desarrollador M\u00f3vil, Couchbase","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/650445f1ea30314c4f3555dd680154f5","url":"https:\/\/secure.gravatar.com\/avatar\/b912c9a97568a859697ee195432d0bd7cc3ed67d720ae2e6588b67313fa49e08?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b912c9a97568a859697ee195432d0bd7cc3ed67d720ae2e6588b67313fa49e08?s=96&d=mm&r=g","caption":"William Hoang, Mobile Developer Advocate, Couchbase"},"description":"William fue Developer Advocate en el equipo de Mobile Engineering\/Developer Experience de Couchbase. Su amor por el caf\u00e9 y el c\u00f3digo le ha trascendido al mundo de los m\u00f3viles, al tiempo que aprecia las experiencias presenciales fuera de l\u00ednea. Anteriormente, William trabaj\u00f3 en el equipo de Relaciones con Desarrolladores en Twitter, BlackBerry y Microsoft, adem\u00e1s de haber sido ingeniero de Software Embedded GPS en Research In Motion. William se licenci\u00f3 en Ingenier\u00eda El\u00e9ctrica de Software por la Universidad McGill.","url":"https:\/\/www.couchbase.com\/blog\/es\/author\/william-hoang\/"}]}},"authors":[{"term_id":8983,"user_id":30,"is_guest":0,"slug":"william-hoang","display_name":"William Hoang, Mobile Developer Advocate, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/b912c9a97568a859697ee195432d0bd7cc3ed67d720ae2e6588b67313fa49e08?s=96&d=mm&r=g","author_category":"","last_name":"Hoang","first_name":"William","job_title":"","user_url":"","description":"William fue Developer Advocate en el equipo de Mobile Engineering\/Developer Experience de Couchbase. Su amor por el caf\u00e9 y el c\u00f3digo le ha trascendido al mundo de los m\u00f3viles, al tiempo que aprecia las experiencias presenciales fuera de l\u00ednea. Anteriormente, William trabaj\u00f3 en el equipo de Relaciones con Desarrolladores en Twitter, BlackBerry y Microsoft, adem\u00e1s de haber sido ingeniero de Software Embedded GPS en Research In Motion. William se licenci\u00f3 en Ingenier\u00eda El\u00e9ctrica de Software por la Universidad McGill."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/1908","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/users\/30"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=1908"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/1908\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=1908"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=1908"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=1908"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=1908"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}