Skip to content

Instantly share code, notes, and snippets.

View wnqueiroz's full-sized avatar
:octocat:

William Queiroz wnqueiroz

:octocat:
View GitHub Profile
@wnqueiroz
wnqueiroz / mapping_my_blog.js
Created June 5, 2018 23:56
mapping_my_blog.js
{
"mappings": {
"_doc": {
"properties": {
"_JOIN_": { // esse é o nome que vamos dar para o campo responsável por juntar os dados
"type": "join",
"relations": {
"users": "posts" // aqui é onde definimos o grau de parentesco dos nossos documentos
}
}
@wnqueiroz
wnqueiroz / john_watson_user_join.js
Created June 6, 2018 00:01
john_watson_user_join.js
{
"id": 1,
"name": "John Watson",
"email": "john@watson.com",
"created_at": "2018-05-28T04:28:28+03:00",
"_JOIN_": "users" // como esse é um documento pai, usamos apenas o nome da relação "users" para campo join "_JOIN_"
}
@wnqueiroz
wnqueiroz / john_lenon_user_join.js
Created June 6, 2018 00:03
john_lenon_user_join.js
{
"id": 2,
"name": "John Lenon",
"email": "john@lenon.com",
"created_at": "2018-05-29T03:28:36+03:00",
"_JOIN_": "users" // a mesma anotação simples para indicar que é um documento pai
}
@wnqueiroz
wnqueiroz / john_watson_post_1_join.js
Created June 6, 2018 00:13
john_watson_post_1_join.js
{
"title": "This is a user post 1...",
"body": "This is a body...",
"_JOIN_": { // o nosso campo join agora está recebendo um objeto
"name": "posts", // informamos que o documento será indexado como "posts", que então será filho de "users"
"parent": "1" // especificando o ID do documento pai (Esse será um post de John Watson).
}
}
@wnqueiroz
wnqueiroz / john_watson_post_2_join.js
Created June 6, 2018 00:15
john_watson_post_2_join.js
{
"title": "This is another user post 1",
"body": "This is a body...",
"_JOIN_": {
"name": "posts",
"parent": "1" // esse será um outro post do usuário John Watson
}
}
@wnqueiroz
wnqueiroz / john_lenon_post_1_join.js
Created June 6, 2018 00:22
john_lenon_post_1_join.js
{
"title": "This is a user post 2",
"body": "This is a body...",
"_JOIN_": {
"name": "posts",
"parent": "2" // aqui estamos especificando o ID do usuário "John Lenon"
}
}
@wnqueiroz
wnqueiroz / query_match_all_posts_join.js
Created June 6, 2018 00:36
query_match_all_posts_join.js
{
"query": {
"has_parent": { // aqui estamos o método has_parent, que efeturá a pesquisa com o pai especificado
"parent_type": "users", // buscamos os documentos que tenham como pai, os documentos "users"
"query": {
"match_all": {} // buscando todos os resultados
}
}
}
}
@wnqueiroz
wnqueiroz / query_match_all_posts_users_join.js
Last active June 6, 2018 00:40
query_match_all_posts_users_join.js
{
"query": {
"has_parent": {
"parent_type": "users",
"query": { // as cláusulas utilizadas nesse objeto serão utilizadas para o documento pai
"match": {
"name": "Watson"
}
}
}
@wnqueiroz
wnqueiroz / App.jsx
Last active August 9, 2018 18:52
React Context: App.jsx
import React, { Component } from 'react'
import './index.css'
class App extends Component {
render() {
return (
<div>
{/* vazio, por enquanto */}
</div>
@wnqueiroz
wnqueiroz / index.js
Created August 9, 2018 16:14
React Context: index.js
import React from 'react'
import ReactDOM from 'react-dom'
import App from './App'
import registerServiceWorker from './registerServiceWorker'
ReactDOM.render(<App />, document.getElementById('root'))
registerServiceWorker()