Usando a API de subdocumento do Couchbase com o GoLang SDK

Há pouco tempo, escrevi sobre como trabalhar com partes ou fragmentos de documentos no Couchbase
usando o SDK do Node.js. Ser capaz de trabalhar com
partes de documentos é possível usando
Servidor Couchbase 4.5 e superior e a API do subdocumento.
Isso é muito importante porque, ao trabalhar com documentos NoSQL, você pode se deparar com documentos muito grandes devido a todos os dados JSON incorporados. Como você provavelmente
Sabe-se que fazer solicitações em documentos grandes é lento e, na era moderna da Web, tudo precisa ser rápido. Em vez disso, é mais eficiente apenas
Trabalhe com o que você precisa e não com tudo de uma vez.

Desta vez, vamos tentar fazer as mesmas manipulações de documentos NoSQL que vimos no Node.js, mas, desta vez, com a linguagem de programação Go. Vamos lá
criar uma história de dados para este exemplo. Será a mesma história de dados do exemplo anterior, mas vamos supor que temos o seguinte documento JSON:

Os dados acima serão uma base armazenamento de perfil de usuário com informações de mídia social. Todas as nossas manipulações serão em torno das informações de mídia social, não
os dados principais que o cercam.

Para simplificar este guia, vamos trabalhar com um projeto novo. Neste ponto, presumiremos que você tenha o Couchbase Server 4.5+ e o
GoLang instalado e configurado em seu computador. Se você ainda não baixou o GoLang SDK para o Couchbase, execute o seguinte em seu comando
Prompt ou Terminal:

Todo o nosso projeto para este exemplo residirá em um único arquivo. Vamos nos referir a esse arquivo como main.go e pode residir em qualquer
O diretório do projeto Go que você quiser, desde que atenda aos requisitos da linguagem de programação Go.

Para começar, vamos criar um arquivo principal dentro do nosso projeto:

Há alguns aspectos a serem observados no exemplo acima. Primeiro, estamos estabelecendo uma conexão com um cluster do Couchbase em execução local. Quando a conexão tiver
estabelecido, abrimos o padrão balde. Observe que estamos atribuindo apenas um valor à variável balde e não o define. Isso
é porque vamos usar essa variável globalmente e devemos defini-la fora do principal função. Com o balde aberto, vamos
criar nossa estrutura de dados inicial. Essa estrutura de dados Pessoa é definido abaixo:

O Pessoa terá as informações básicas do usuário e fará referência a outra estrutura chamada Redes sociais. Ambos
são marcadas com nomes de propriedades JSON que devem ser excluídas da impressão se estiverem em branco.

Voltando ao principal função. Observe que nosso novo objeto de pessoa não tem o website. Adicionaremos isso mais tarde. O primeiro
que chamamos na função principal é chamada de função createDocument e ele adicionará nosso objeto ao banco de dados. Esta função
é definido da seguinte forma:

Na função acima, ainda não estamos trabalhando com fragmentos de um documento. Primeiro, precisamos iniciar o exemplo com dados novos. Vamos inserir
o documento inicial e, se não houver erros, chamaremos getDocument para validar sua criação e, em seguida
getSubDocument para obter uma determinada parte do documento. O getDocument será usada duas vezes neste aplicativo e a função
ele se parece com o seguinte:

No exemplo acima getDocument estamos obtendo o documento inteiro com base no id, transformando-o em JSON e, em seguida, imprimindo-o. Essa função
nos leva ao getSubDocument conforme mostrado abaixo:

No exemplo acima getSubDocument estamos fazendo uma pesquisa em um documento para uma propriedade específica. É aqui que começamos a trabalhar com
a API do subdocumento. A pesquisa que estamos realizando é uma pesquisa para o redes sociais propriedade. Observe que estou me referindo ao JSON, não ao
o estrutura nome. Quando tivermos o fragmento, podemos transformá-lo em JSON e depois imprimi-lo. O resultado deve ser semelhante a este:

No final do getSubDocument fazemos uma chamada para uma função a ser criada em breve upsertSubDocument função. É aqui que
vamos modificar parte de um documento sem antes obter o documento inteiro. Essa função pode ser vista da seguinte forma:

Na função acima, primeiro especificamos qual documento queremos manipular com base no ID do documento. Em seguida, dizemos que queremos fazer um upsert em um
determinado caminho ou propriedade do documento. Neste exemplo, estamos dizendo que queremos inserir um site encontrada na propriedade
redes sociais pai. Observe que todo esse processo ocorre sem a obtenção efetiva do documento.

Quando terminarmos, faremos uma pesquisa completa do documento novamente para ver como ele se parece como um todo. Caso você precise que isso seja colocado em perspectiva, um
Melhor ainda, o código completo desse projeto pode ser visto abaixo:

Faça um test drive neste projeto para ver como a API de subdocumentos é maravilhosa.

Conclusão

Você acabou de ver como usar a API de subdocumento do Couchbase Server em um aplicativo GoLang usando o Couchbase Go SDK. Você não precisará mais se preocupar com
passando por seus documentos NoSQL potencialmente enormes, arruinando os tempos de resposta do aplicativo. Se você sabe que seus documentos são grandes ou se precisa apenas de
você pode usar essa API.

Para obter mais informações, visite o site do Couchbase Portal do desenvolvedor.

Compartilhe este artigo
Receba atualizações do blog do Couchbase em sua caixa de entrada
Esse campo é obrigatório.

Autor

Postado por Nic Raboy, defensor dos desenvolvedores, Couchbase

Nic Raboy é um defensor das modernas tecnologias de desenvolvimento móvel e da Web. Ele tem experiência em Java, JavaScript, Golang e uma variedade de estruturas, como Angular, NativeScript e Apache Cordova. Nic escreve sobre suas experiências de desenvolvimento relacionadas a tornar o desenvolvimento móvel e da Web mais fácil de entender.

Deixe um comentário

Pronto para começar a usar o Couchbase Capella?

Iniciar a construção

Confira nosso portal do desenvolvedor para explorar o NoSQL, procurar recursos e começar a usar os tutoriais.

Use o Capella gratuitamente

Comece a trabalhar com o Couchbase em apenas alguns cliques. O Capella DBaaS é a maneira mais fácil e rápida de começar.

Entre em contato

Deseja saber mais sobre as ofertas do Couchbase? Deixe-nos ajudar.