{"id":1103,"date":"2014-03-12T02:09:46","date_gmt":"2014-03-12T05:09:46","guid":{"rendered":"http:\/\/www.boaglio.com\/?p=1103"},"modified":"2021-02-08T23:38:57","modified_gmt":"2021-02-09T02:38:57","slug":"saindo-da-mesmisse-com-play-framework-e-mongodb","status":"publish","type":"post","link":"https:\/\/boaglio.com\/index.php\/2014\/03\/12\/saindo-da-mesmisse-com-play-framework-e-mongodb\/","title":{"rendered":"Saindo da mesmisse com Play framework e MongoDB"},"content":{"rendered":"<p>H\u00e1 alguns anos quando estava estudando Java, li em um livro a seguinte frase: &#8220;<em>provavelmente em algumas d\u00e9cadas os bancos de dados relacionais continuar\u00e3o a ser dominantes no mercado, por esse motivo \u00e9 importante aprender JDBC e SQL, pois o Java implementa bl\u00e1 bl\u00e1 bl\u00e1<\/em>&#8220;.<\/p>\n<p>Na \u00e9poca eu concordei com o autor, e n\u00e3o imaginei que pudesse mudar de ideia algum dia, apesar de n\u00e3o gostar do fato de desenvolver um sistema e sempre depender de quem armazena os dados.<\/p>\n<p><a href=\"http:\/\/www.boaglio.com\/wp-content\/uploads\/2014\/03\/databases.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1105\" src=\"http:\/\/www.boaglio.com\/wp-content\/uploads\/2014\/03\/databases.png\" alt=\"databases\" width=\"387\" height=\"293\" srcset=\"https:\/\/boaglio.com\/wp-content\/uploads\/2014\/03\/databases.png 387w, https:\/\/boaglio.com\/wp-content\/uploads\/2014\/03\/databases-300x227.png 300w\" sizes=\"auto, (max-width: 387px) 100vw, 387px\" \/><\/a><\/p>\n<p>Quando se aprende uma linguagem nova, sempre existiu essa depend\u00eancia de aprender SQL para interagir com os bancos de dados relacionais, e no caso do Java o <strong>Hibernate<\/strong> veio para salvar para que o mundo orientado a objeto n\u00e3o virasse simplesmente um <strong>de-para<\/strong> de tabelas do banco.<\/p>\n<p>Apesar disso, sempre existir uma tend\u00eancia para desenvolver orientado ao banco de dados, afinal ele \u00e9 relacional e n\u00e3o vai mudar t\u00e3o cedo.<\/p>\n<p>Bom, muita gente ainda acha isso, mas a minha opini\u00e3o mudou depois da revolu\u00e7\u00e3o <a title=\"NoSQL\" href=\"http:\/\/pt.wikipedia.org\/wiki\/NoSQL\" target=\"_blank\" rel=\"noopener\">NoSQL<\/a>, e com certeza para cada caso uma op\u00e7\u00e3o de banco de dados \u00e9 mais adequada.<\/p>\n<p>Sempre come\u00e7amos a desenvolver um sistema partindo do princ\u00edpio que ele usar\u00e1 um banco de dados relacional (MySQL , Oracle, SQL Server, etc.), mas <strong>esse pensamento precisa mudar<\/strong>!<\/p>\n<p>Um sistema baseado em grafos em base relacional certamente seria muito lento, mas em uma base como <a title=\"neo4j.org\" href=\"http:\/\/neo4j.org\" target=\"_blank\" rel=\"noopener\">Neo4J<\/a> seria muito r\u00e1pido.<\/p>\n<p>Muitos sistemas que fazemos, ao persistirmos em bases relacionais e normalizarmos as tabelas, e no final, em uma simples tela inicial teremos executando um <em>SELECT<\/em> em diversas tabelas. Isso \u00e9 um problema que o DBA pega e cria um \u00edndice, mas isso n\u00e3o diminui a complexidade da coisa, afinal o sistema est\u00e1 amarrado \u00e0s tabelas relacionais.<\/p>\n<p>Nesse ponto que os <em>Document Databases<\/em>, como o <a title=\"www.mongodb.org\" href=\"http:\/\/www.mongodb.org\" target=\"_blank\" rel=\"noopener\">MongoDB<\/a> vieram para nos salvar. Quando se diz <em>Document<\/em>, n\u00e3o \u00e9 um arquivo de documento em formato DOC ou PDF, mas sim a informa\u00e7\u00e3o em formato <a title=\"JSON\" href=\"http:\/\/json.org\/json-pt.html\" target=\"_blank\" rel=\"noopener\">JSON<\/a>.<\/p>\n<p>Um banco de dados gigantesco (em ingl\u00eas hu<strong>MONGO<\/strong>us) que <a href=\"http:\/\/www.dbms2.com\/2011\/07\/27\/mongodb-users-and-use-cases\/\" target=\"_blank\" rel=\"noopener\">costuma armazenar dados na casa dos Terabytes<\/a> pode ser facilmente manipulado por desenvolvedores.<\/p>\n<p><a href=\"http:\/\/www.boaglio.com\/wp-content\/uploads\/2014\/03\/java-evil-edition.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-1106\" src=\"http:\/\/www.boaglio.com\/wp-content\/uploads\/2014\/03\/java-evil-edition.png\" alt=\"java-evil-edition\" width=\"200\" srcset=\"https:\/\/boaglio.com\/wp-content\/uploads\/2014\/03\/java-evil-edition.png 373w, https:\/\/boaglio.com\/wp-content\/uploads\/2014\/03\/java-evil-edition-186x300.png 186w\" sizes=\"(max-width: 373px) 100vw, 373px\" \/><\/a><\/p>\n<p>Outra assunto que todo desenvolvedor Java web est\u00e1 condenado \u00e9 \u00e0 API de Servlet e ao <a href=\"http:\/\/en.wikipedia.org\/wiki\/Deployment_descriptor\" target=\"_blank\" rel=\"noopener\">deployment descriptor<\/a> , isso sem falar das intermin\u00e1veis publica\u00e7\u00f5es e restarts de servidor (apesar do <a href=\"http:\/\/zeroturnaround.com\/software\/jrebel\/\" target=\"_blank\" rel=\"noopener\">JavaRebel<\/a> aliviar um pouco).<\/p>\n<p>Saindo ent\u00e3o dessa mesmisse de <strong>codifica-deploy-codifica-deploy<\/strong> e inspirado na produtividade de Ruby on Rails e Django que <a href=\"http:\/\/en.wikipedia.org\/wiki\/Play_Framework#History\" target=\"_blank\" rel=\"noopener\">o desenvolvedor Guillaume Bort criou o Play Framework<\/a>.<\/p>\n<p><a title=\"Play!\" href=\"http:\/\/www.casadocodigo.com.br\/products\/livro-play-framework-java\" target=\"_blank\" rel=\"noopener\">Eu gostei tanto de trabalhar com Play Framework que acabei escrevendo um livro =)<\/a><\/p>\n<p><a href=\"http:\/\/www.casadocodigo.com.br\/products\/livro-play-framework-java\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1107\" src=\"http:\/\/www.boaglio.com\/wp-content\/uploads\/2014\/03\/Play-ebooks_large.png\" alt=\"Play!\" width=\"340\" height=\"480\" srcset=\"https:\/\/boaglio.com\/wp-content\/uploads\/2014\/03\/Play-ebooks_large.png 340w, https:\/\/boaglio.com\/wp-content\/uploads\/2014\/03\/Play-ebooks_large-212x300.png 212w\" sizes=\"auto, (max-width: 340px) 100vw, 340px\" \/><\/a><\/p>\n<p>Nesse projeto de <a href=\"https:\/\/github.com\/boaglio\/play2-mongodb-filmes\" target=\"_blank\" rel=\"noopener\">Filmes Cult (fontes no GitHub) <\/a> \u00e9 demonstrado como o MongoDB se integra facilmente \u00e0s aplica\u00e7\u00f5es <em>Java<\/em> e ao <em>Play Framework<\/em>.<\/p>\n<p>Primeiro adicionamos uma depend\u00eancia do <em>MongoDB<\/em> ao projeto do Play (dentro do <strong>build.sbt<\/strong>):<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"ini\">libraryDependencies ++= Seq(\r\n  \"net.vz.mongodb.jackson\" %% \"play-mongo-jackson-mapper\" % \"1.1.0\"<\/pre>\n<p>Em seguida em <strong>application.conf<\/strong> apontamos para a base do MongoDB:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"ini\"># Database configuration\r\nmongodb.servers=\"127.0.0.1:27017\"\r\nmongodb.database=\"boaglio\"<\/pre>\n<p>E dentro do nosso domain <em>Filme<\/em>, definimos como se mapeia com a collection de filmes:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\">public class Filme {\r\n\r\n    @Id\r\n    @ObjectId\r\n    public String id;\r\n\r\n    public String nome;\r\n\r\n    public String tipo;\r\n\r\n    public Double nota;\r\n\r\n    public Integer duracao;\r\n\r\n    public Integer ano;\r\n\r\n    public String genero;\r\n\r\n    public Integer votos;\r\n\r\n    public String url;\r\n\r\n    public Diretor diretor;\r\n\r\n    public static List&lt;Filme&gt; all() {\r\n        return Filme.coll.find().toArray();\r\n    }\r\n\r\n    private static JacksonDBCollection&lt;Filme,String&gt; coll = MongoDB.getCollection(\"filmes\",Filme.class,String.class);\r\n\r\n}<\/pre>\n<p>E teremos o seguinte resultado:<\/p>\n<p><a href=\"http:\/\/www.boaglio.com\/wp-content\/uploads\/2014\/03\/play-com-mongodb.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1109\" src=\"http:\/\/www.boaglio.com\/wp-content\/uploads\/2014\/03\/play-com-mongodb.png\" alt=\"play-com-mongodb\" width=\"1173\" height=\"469\" srcset=\"https:\/\/boaglio.com\/wp-content\/uploads\/2014\/03\/play-com-mongodb.png 1173w, https:\/\/boaglio.com\/wp-content\/uploads\/2014\/03\/play-com-mongodb-300x119.png 300w, https:\/\/boaglio.com\/wp-content\/uploads\/2014\/03\/play-com-mongodb-1024x409.png 1024w, https:\/\/boaglio.com\/wp-content\/uploads\/2014\/03\/play-com-mongodb-500x199.png 500w\" sizes=\"auto, (max-width: 1173px) 100vw, 1173px\" \/><\/a><\/p>\n<p>A <a href=\"https:\/\/github.com\/boaglio\/play2-mongodb-filmes\" target=\"_blank\" rel=\"noopener\">base de dados de filmes est\u00e1 no GitHub junto com o projeto<\/a> , ela oferece a lista de filmes abaixo, exibida no console do MongoDB:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\">MongoDB shell version: 2.4.9\r\nconnecting to: test\r\n&gt; use boaglio\r\nswitched to db boaglio\r\n&gt; db.filmes.count()\r\n98\r\n&gt; db.filmes.find({nome:\"Psicose\"});\r\n{ \"_id\" : ObjectId(\"531f9d490612421e5c4847d3\"), \"nome\" : \"Psicose\", \"tipo\" : \"Feature Film\", \"ano\" : 1960, \"nota\" : 8.6, \"duracao\" : 109, \"url\" : \"http:\/\/www.imdb.com\/title\/tt0054215\/\", \"diretor\" : \"Alfred Hitchcock\" }\r\n&gt; db.filmes.find({nome:\"Psicose\"}).pretty();\r\n{\r\n        \"_id\" : ObjectId(\"531f9d490612421e5c4847d3\"),\r\n        \"nome\" : \"Psicose\",\r\n        \"tipo\" : \"Feature Film\",\r\n        \"ano\" : 1960,\r\n        \"nota\" : 8.6,\r\n        \"duracao\" : 109,\r\n        \"url\" : \"http:\/\/www.imdb.com\/title\/tt0054215\/\",\r\n        \"diretor\" : \"Alfred Hitchcock\"\r\n}\r\n MongoDB shell version: 2.4.9\r\nconnecting to: test\r\n&gt; use boaglio\r\nswitched to db boaglio\r\n&gt; db.filmes.count()\r\n98\r\n&gt; db.filmes.find({nome:\"Psicose\"});\r\n{ \"_id\" : ObjectId(\"531f9d490612421e5c4847d3\"), \"nome\" : \"Psicose\", \"tipo\" : \"Feature Film\", \"ano\" : 1960, \"nota\" : 8.6, \"duracao\" : 109, \"url\" : \"http:\/\/www.imdb.com\/title\/tt0054215\/\", \"diretor\" : \"Alfred Hitchcock\" }\r\n&gt; db.filmes.find({nome:\"Psicose\"}).pretty();\r\n{\r\n        \"_id\" : ObjectId(\"531f9d490612421e5c4847d3\"),\r\n        \"nome\" : \"Psicose\",\r\n        \"tipo\" : \"Feature Film\",\r\n        \"ano\" : 1960,\r\n        \"nota\" : 8.6,\r\n        \"duracao\" : 109,\r\n        \"url\" : \"http:\/\/www.imdb.com\/title\/tt0054215\/\",\r\n        \"diretor\" : \"Alfred Hitchcock\"\r\n}\r\n<\/pre>\n<p>O <strong>MongoDB<\/strong> oferece um <strong>excelente<\/strong> treinamento online <em>gratuito<\/em> para desenvolvedores web, consulte mais detalhes em <a title=\"http:\/\/education.mongodb.com\/\" href=\"http:\/\/education.mongodb.com\/\" target=\"_blank\" rel=\"noopener\">http:\/\/education.mongodb.com\/<\/a><\/p>\n<p><strong>Fernando Boaglio, para a comunidade!<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Saindo da mesmisse com Play framework e MongoDB<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[21,17,1,22],"tags":[],"class_list":["post-1103","post","type-post","status-publish","format-standard","hentry","category-analise-de-livro","category-banco-de-dados","category-java","category-play"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Saindo da mesmisse com Play framework e MongoDB - Boaglio.com<\/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:\/\/boaglio.com\/index.php\/2014\/03\/12\/saindo-da-mesmisse-com-play-framework-e-mongodb\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Saindo da mesmisse com Play framework e MongoDB - Boaglio.com\" \/>\n<meta property=\"og:description\" content=\"Saindo da mesmisse com Play framework e MongoDB\" \/>\n<meta property=\"og:url\" content=\"https:\/\/boaglio.com\/index.php\/2014\/03\/12\/saindo-da-mesmisse-com-play-framework-e-mongodb\/\" \/>\n<meta property=\"og:site_name\" content=\"Boaglio.com\" \/>\n<meta property=\"article:published_time\" content=\"2014-03-12T05:09:46+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-02-09T02:38:57+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.boaglio.com\/wp-content\/uploads\/2014\/03\/databases.png\" \/>\n<meta name=\"author\" content=\"Fernando Boaglio\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fernando Boaglio\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/boaglio.com\\\/index.php\\\/2014\\\/03\\\/12\\\/saindo-da-mesmisse-com-play-framework-e-mongodb\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/boaglio.com\\\/index.php\\\/2014\\\/03\\\/12\\\/saindo-da-mesmisse-com-play-framework-e-mongodb\\\/\"},\"author\":{\"name\":\"Fernando Boaglio\",\"@id\":\"https:\\\/\\\/boaglio.com\\\/#\\\/schema\\\/person\\\/8c1801baf8ab6b6d207210832f6407d7\"},\"headline\":\"Saindo da mesmisse com Play framework e MongoDB\",\"datePublished\":\"2014-03-12T05:09:46+00:00\",\"dateModified\":\"2021-02-09T02:38:57+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/boaglio.com\\\/index.php\\\/2014\\\/03\\\/12\\\/saindo-da-mesmisse-com-play-framework-e-mongodb\\\/\"},\"wordCount\":555,\"commentCount\":1,\"image\":{\"@id\":\"https:\\\/\\\/boaglio.com\\\/index.php\\\/2014\\\/03\\\/12\\\/saindo-da-mesmisse-com-play-framework-e-mongodb\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/www.boaglio.com\\\/wp-content\\\/uploads\\\/2014\\\/03\\\/databases.png\",\"articleSection\":[\"An\u00e1lise de livro\",\"banco de dados\",\"Java\",\"Play\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/boaglio.com\\\/index.php\\\/2014\\\/03\\\/12\\\/saindo-da-mesmisse-com-play-framework-e-mongodb\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/boaglio.com\\\/index.php\\\/2014\\\/03\\\/12\\\/saindo-da-mesmisse-com-play-framework-e-mongodb\\\/\",\"url\":\"https:\\\/\\\/boaglio.com\\\/index.php\\\/2014\\\/03\\\/12\\\/saindo-da-mesmisse-com-play-framework-e-mongodb\\\/\",\"name\":\"Saindo da mesmisse com Play framework e MongoDB - Boaglio.com\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/boaglio.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/boaglio.com\\\/index.php\\\/2014\\\/03\\\/12\\\/saindo-da-mesmisse-com-play-framework-e-mongodb\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/boaglio.com\\\/index.php\\\/2014\\\/03\\\/12\\\/saindo-da-mesmisse-com-play-framework-e-mongodb\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/www.boaglio.com\\\/wp-content\\\/uploads\\\/2014\\\/03\\\/databases.png\",\"datePublished\":\"2014-03-12T05:09:46+00:00\",\"dateModified\":\"2021-02-09T02:38:57+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/boaglio.com\\\/#\\\/schema\\\/person\\\/8c1801baf8ab6b6d207210832f6407d7\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/boaglio.com\\\/index.php\\\/2014\\\/03\\\/12\\\/saindo-da-mesmisse-com-play-framework-e-mongodb\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/boaglio.com\\\/index.php\\\/2014\\\/03\\\/12\\\/saindo-da-mesmisse-com-play-framework-e-mongodb\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/boaglio.com\\\/index.php\\\/2014\\\/03\\\/12\\\/saindo-da-mesmisse-com-play-framework-e-mongodb\\\/#primaryimage\",\"url\":\"http:\\\/\\\/www.boaglio.com\\\/wp-content\\\/uploads\\\/2014\\\/03\\\/databases.png\",\"contentUrl\":\"http:\\\/\\\/www.boaglio.com\\\/wp-content\\\/uploads\\\/2014\\\/03\\\/databases.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/boaglio.com\\\/index.php\\\/2014\\\/03\\\/12\\\/saindo-da-mesmisse-com-play-framework-e-mongodb\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\\\/\\\/boaglio.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Saindo da mesmisse com Play framework e MongoDB\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/boaglio.com\\\/#website\",\"url\":\"https:\\\/\\\/boaglio.com\\\/\",\"name\":\"Boaglio.com\",\"description\":\"tecnologia e cr\u00edticas construtivas\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/boaglio.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/boaglio.com\\\/#\\\/schema\\\/person\\\/8c1801baf8ab6b6d207210832f6407d7\",\"name\":\"Fernando Boaglio\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a939c977cba6bad98bab6b4ef8e44bdd3908fa870d05667774506e6d0b692e47?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a939c977cba6bad98bab6b4ef8e44bdd3908fa870d05667774506e6d0b692e47?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a939c977cba6bad98bab6b4ef8e44bdd3908fa870d05667774506e6d0b692e47?s=96&d=mm&r=g\",\"caption\":\"Fernando Boaglio\"},\"description\":\"???\",\"sameAs\":[\"https:\\\/\\\/www.boaglio.com\"],\"url\":\"https:\\\/\\\/boaglio.com\\\/index.php\\\/author\\\/admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Saindo da mesmisse com Play framework e MongoDB - Boaglio.com","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:\/\/boaglio.com\/index.php\/2014\/03\/12\/saindo-da-mesmisse-com-play-framework-e-mongodb\/","og_locale":"pt_BR","og_type":"article","og_title":"Saindo da mesmisse com Play framework e MongoDB - Boaglio.com","og_description":"Saindo da mesmisse com Play framework e MongoDB","og_url":"https:\/\/boaglio.com\/index.php\/2014\/03\/12\/saindo-da-mesmisse-com-play-framework-e-mongodb\/","og_site_name":"Boaglio.com","article_published_time":"2014-03-12T05:09:46+00:00","article_modified_time":"2021-02-09T02:38:57+00:00","og_image":[{"url":"http:\/\/www.boaglio.com\/wp-content\/uploads\/2014\/03\/databases.png","type":"","width":"","height":""}],"author":"Fernando Boaglio","twitter_misc":{"Escrito por":"Fernando Boaglio","Est. tempo de leitura":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/boaglio.com\/index.php\/2014\/03\/12\/saindo-da-mesmisse-com-play-framework-e-mongodb\/#article","isPartOf":{"@id":"https:\/\/boaglio.com\/index.php\/2014\/03\/12\/saindo-da-mesmisse-com-play-framework-e-mongodb\/"},"author":{"name":"Fernando Boaglio","@id":"https:\/\/boaglio.com\/#\/schema\/person\/8c1801baf8ab6b6d207210832f6407d7"},"headline":"Saindo da mesmisse com Play framework e MongoDB","datePublished":"2014-03-12T05:09:46+00:00","dateModified":"2021-02-09T02:38:57+00:00","mainEntityOfPage":{"@id":"https:\/\/boaglio.com\/index.php\/2014\/03\/12\/saindo-da-mesmisse-com-play-framework-e-mongodb\/"},"wordCount":555,"commentCount":1,"image":{"@id":"https:\/\/boaglio.com\/index.php\/2014\/03\/12\/saindo-da-mesmisse-com-play-framework-e-mongodb\/#primaryimage"},"thumbnailUrl":"http:\/\/www.boaglio.com\/wp-content\/uploads\/2014\/03\/databases.png","articleSection":["An\u00e1lise de livro","banco de dados","Java","Play"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/boaglio.com\/index.php\/2014\/03\/12\/saindo-da-mesmisse-com-play-framework-e-mongodb\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/boaglio.com\/index.php\/2014\/03\/12\/saindo-da-mesmisse-com-play-framework-e-mongodb\/","url":"https:\/\/boaglio.com\/index.php\/2014\/03\/12\/saindo-da-mesmisse-com-play-framework-e-mongodb\/","name":"Saindo da mesmisse com Play framework e MongoDB - Boaglio.com","isPartOf":{"@id":"https:\/\/boaglio.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/boaglio.com\/index.php\/2014\/03\/12\/saindo-da-mesmisse-com-play-framework-e-mongodb\/#primaryimage"},"image":{"@id":"https:\/\/boaglio.com\/index.php\/2014\/03\/12\/saindo-da-mesmisse-com-play-framework-e-mongodb\/#primaryimage"},"thumbnailUrl":"http:\/\/www.boaglio.com\/wp-content\/uploads\/2014\/03\/databases.png","datePublished":"2014-03-12T05:09:46+00:00","dateModified":"2021-02-09T02:38:57+00:00","author":{"@id":"https:\/\/boaglio.com\/#\/schema\/person\/8c1801baf8ab6b6d207210832f6407d7"},"breadcrumb":{"@id":"https:\/\/boaglio.com\/index.php\/2014\/03\/12\/saindo-da-mesmisse-com-play-framework-e-mongodb\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/boaglio.com\/index.php\/2014\/03\/12\/saindo-da-mesmisse-com-play-framework-e-mongodb\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/boaglio.com\/index.php\/2014\/03\/12\/saindo-da-mesmisse-com-play-framework-e-mongodb\/#primaryimage","url":"http:\/\/www.boaglio.com\/wp-content\/uploads\/2014\/03\/databases.png","contentUrl":"http:\/\/www.boaglio.com\/wp-content\/uploads\/2014\/03\/databases.png"},{"@type":"BreadcrumbList","@id":"https:\/\/boaglio.com\/index.php\/2014\/03\/12\/saindo-da-mesmisse-com-play-framework-e-mongodb\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/boaglio.com\/"},{"@type":"ListItem","position":2,"name":"Saindo da mesmisse com Play framework e MongoDB"}]},{"@type":"WebSite","@id":"https:\/\/boaglio.com\/#website","url":"https:\/\/boaglio.com\/","name":"Boaglio.com","description":"tecnologia e cr\u00edticas construtivas","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/boaglio.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Person","@id":"https:\/\/boaglio.com\/#\/schema\/person\/8c1801baf8ab6b6d207210832f6407d7","name":"Fernando Boaglio","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/secure.gravatar.com\/avatar\/a939c977cba6bad98bab6b4ef8e44bdd3908fa870d05667774506e6d0b692e47?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/a939c977cba6bad98bab6b4ef8e44bdd3908fa870d05667774506e6d0b692e47?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a939c977cba6bad98bab6b4ef8e44bdd3908fa870d05667774506e6d0b692e47?s=96&d=mm&r=g","caption":"Fernando Boaglio"},"description":"???","sameAs":["https:\/\/www.boaglio.com"],"url":"https:\/\/boaglio.com\/index.php\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/boaglio.com\/index.php\/wp-json\/wp\/v2\/posts\/1103","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/boaglio.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/boaglio.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/boaglio.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/boaglio.com\/index.php\/wp-json\/wp\/v2\/comments?post=1103"}],"version-history":[{"count":12,"href":"https:\/\/boaglio.com\/index.php\/wp-json\/wp\/v2\/posts\/1103\/revisions"}],"predecessor-version":[{"id":2130,"href":"https:\/\/boaglio.com\/index.php\/wp-json\/wp\/v2\/posts\/1103\/revisions\/2130"}],"wp:attachment":[{"href":"https:\/\/boaglio.com\/index.php\/wp-json\/wp\/v2\/media?parent=1103"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/boaglio.com\/index.php\/wp-json\/wp\/v2\/categories?post=1103"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/boaglio.com\/index.php\/wp-json\/wp\/v2\/tags?post=1103"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}