Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ---
- title: "Model Country"
- author: "Fulano de Tal"
- date: "`r format(Sys.Date(), '%d/%B/%Y')`"
- output:
- pdf_document:
- number_sections: TRUE
- header-includes:
- - \usepackage[fontsize=10pt]{scrextend}
- urlcolor: blue
- ---
- <!-- Pré-requisitos -->
- <!-- R -->
- <!-- RStudio -->
- <!-- Miktex - Gerar Latex -->
- <!-- Pandoc - Converter Latex para PDF ou HTML -->
- ```{r setup, include=FALSE}
- knitr::opts_chunk$set(echo = TRUE)
- library(devtools)
- library("mongolite")
- library(knitr)
- ```
- ```{r locales, echo = F, eval = T, prompt = T, comments = '', message = F, warnings = ''}
- country_data <- mongo(collection = "country",
- db = "app_db",
- url = "mongodb://localhost")
- ```
- # Países
- Esta tabela armazena dados de países.
- # Localização
- models/organizationstructure/country.py
- # Atributos
- ```{r country_attr, echo=FALSE, message=FALSE, warnings=FALSE, results='asis'}
- require(pander)
- panderOptions('table.split.table', Inf)
- set.caption("Country Schema")
- tbl_country_attr <- "#
- Atributo | Tipo | Descrição | Obrigatório | Único
- name_en | String | nome do pais em ingles | Sim | Sim
- name_es | String | nome do pais em espanhol | Sim | Sim
- name_fr | String | nome do pais em frances | Sim | Sim
- name_ja | String | nome do pais em japones | Sim | Sim
- name_it | String | nome do pais em italiano | Sim | Sim
- name_pt | String | nome do pais em portugues de Portugal | Sim | Sim
- name_br | String | nome do pais em portugues do Brasil | Sim | Sim
- name_br_unaccent | String | nome do pais em portugues do Brasil (sem acento) | Sim | Sim
- demonym | String | gentilico | Não | Não
- alpha2_code | String | código ISO Alpha-2 do pais | Sim | Sim
- alpha3_code | String | código ISO Alpha-3 do pais | Sim | Sim
- estimated_population | String | populacao estimada do pais | Não | Não
- area | Decimal | area estimada do pais | Não | Não
- flag | String | url da bandeira do pais | Não | Não
- capital | String | nome da capital do pais | Não | Não
- calling_code | String | codigo de chamada do pais | Não | Não
- website | String | url do website do governo do pais | Não | Não
- slug | String | slug | Sim | Sim
- "
- df <- read.delim(textConnection(tbl_country_attr),
- header=FALSE,
- sep="|",
- strip.white=TRUE,
- stringsAsFactors=FALSE)
- names(df) <- unname(as.list(df[1,])) # put headers on
- df <- df[-1,] # remove first row
- row.names(df)<-NULL
- pander(df, style = 'rmarkdown')
- ```
- \newpage
- # Métodos
- ```{r country_meth, echo=FALSE, message=FALSE, warnings=FALSE, results='asis'}
- set.caption("Country Schema")
- tbl_country_methods <- "#
- Método | Tipo | Descrição
- \\_\\_repr\\_\\_(self) | comum | representa um objeto como uma string no console python
- \\_\\_str\\_\\_(self) | comum | representa um objeto como uma string na função print
- save(self, \\*args, \\*\\*kwargs) | comum | executado ao salvar o objeto
- nome_en(self) | hybrid_property | Retorna o conteúdo do atributo {name_en}
- nome_en(self, value) | setter | Seta um conteúdo do atributo {name_en}, sem espaços e maiúscula
- nome_es(self) | hybrid_property | Retorna o conteúdo do atributo {name_es}
- nome_es(self, value) | setter | Seta um conteúdo do atributo {name_es}, sem espaços e maiúscula
- nome_fr(self) | hybrid_property | Retorna o conteúdo do atributo {name_fr}
- nome_fr(self, value) | setter | Seta um conteúdo do atributo {name_fr}, sem espaços e maiúscula
- nome_ja(self) | hybrid_property | Retorna o conteúdo do atributo {name_ja}
- nome_ja(self, value) | setter | Seta um conteúdo do atributo {name_ja}, sem espaços e maiúscula
- nome_it(self) | hybrid_property | Retorna o conteúdo do atributo {name_it}
- nome_it(self, value) | setter | Seta um conteúdo do atributo {name_it}, sem espaços e maiúscula
- nome_pt(self) | hybrid_property | Retorna o conteúdo do atributo {name_pt}
- nome_pt(self, value) | setter | Seta um conteúdo do atributo {name_pt}, sem espaços e maiúscula
- nome_br(self) | hybrid_property | Retorna o conteúdo do atributo {name_br}
- nome_br(self, value) | setter | Seta um conteúdo do atributo {name_br}, sem espaços e maiúscula
- nome_br_unaccent(self) | hybrid_property | Retorna o conteúdo do atributo {name_br}
- nome_br_unaccent(self) | setter | Seta o conteúdo do atributo {name_br} no atributo {name_br_unaccent}, sem espaços e maiúscula
- drop_table() | staticmethod | Apaga o conteúdo da tabela
- "
- df <- read.delim(textConnection(tbl_country_methods),
- header=FALSE,
- sep="|",
- strip.white=TRUE,
- stringsAsFactors=FALSE)
- names(df) <- unname(as.list(df[1,])) # put headers on
- df <- df[-1,] # remove first row
- row.names(df)<-NULL
- pander(df, style = 'rmarkdown')
- ```
- \newpage
- # Exemplos de Busca em MQL / MongoDB
- Usar as queries em Robo3T
- [Clique aqui pra acessar a URL do Robo3T](https://robomongo.org)
- ## Obter todos os dados
- ```
- db.getCollection('country').find({})
- ```
- ## Obter os primeiros 5 registros
- ```
- db.getCollection('country').find({}).limit(5)
- ```
- ## Obter as colunas {name_br} e {name_br_unaccent} de todos os registros
- ```
- db.getCollection('country').find({},{"name_br" : 1, "name_br_unaccent" : 1})
- ```
- ## Obter os dados do registro BRASIL
- ```
- db.getCollection('country').find({"name_br_unaccent": "BRASIL" })
- ```
- \newpage
- # Quantidade de registros na tabela
- ```{r qry_country_count, echo = F, eval = T, prompt = T, comments = '', message = F, warnings = ''}
- # count data
- country_count <- country_data$count(
- query='{}'
- )
- ```
- Na data **`r format(Sys.Date(), '%d/%B/%Y')`** há um total de **`r country_count`** países.
- # Listagem de registros da tabela
- ```{r qry_country_all, echo = F, eval = T, prompt = T, comments = '', message = F, warnings = ''}
- country_all <- country_data$find(
- query='{}',
- fields = '{"_id" : true, "name_br" : true, "updated_at": true}',
- limit=0
- )
- ```
- ```{r echo=FALSE, results='asis'}
- knitr::kable(country_all)
- ```
Add Comment
Please, Sign In to add comment