Em apenas algumas linhas de código você pode começar a usar o Couchbase com o Node.js para criar seu próximo aplicativo JavaScript.
Isso Olá mundo O tutorial orienta você nas primeiras etapas básicas do uso do o SDK do Node.js com o Recursos mais recentes do Couchbase 7.0. Ele pressupõe que você tenha pelo menos alguma familiaridade com JavaScript e Bancos de dados NoSQL - mas não é necessário ter conhecimento especializado.
Instalar e preparar o Couchbase
Antes de se aprofundar no desenvolvimento de um aplicativo, comece configurando a versão mais recente do Couchbase Server ou Registre-se gratuitamente em uma conta do Couchbase Cloud.
Após a instalação, configure o amostra de viagem
Bucket que cria um conjunto de documentos de amostra com voos, hotéis, pontos de referência e muito mais. Esses dados são úteis para testar uma série de tipos diferentes de aplicativos.
Configurar um aplicativo básico do Node.js
Para o restante desta publicação, presumo que você já tenha o Node.js instalado junto com suas ferramentas de edição de código favoritas. (Os desenvolvedores iniciantes devem procurar alguns tutoriais básicos para obter um ambiente de trabalho).
Sua primeira etapa é criar uma pasta de projeto e inicializar o modelo de pacote com npm init -y
conforme mostrado abaixo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
tyler@local:~/src/cb-nó$ npm inicial -y Escreveu para /casa/tyler/src/cb-nó/pacote.json: { "name" (nome): "cb-node", "versão": "1.0.0", "description" (descrição): "", "principal": "index.js", "scripts": { "teste": "echo \"Error: no test specified\" && exit 1" }, "palavras-chave": [], "autor": "", "licença": "ISC" } |
Adicionar a dependência do módulo Node.js do Couchbase
Em seguida, adicione o módulo do Couchbase Node.js às dependências em package.json
executando o npm install
com o comando -salvar
dessa forma:
1 2 3 4 5 6 7 8 9 10 |
$ npm instalar couchbase --salvar > couchbase@3.2.0 instalar /casa/tyler/src/cb-nó/módulos_nó/couchbase > pré-construção-instalar || nó-gyp reconstruir ... npm AVISO cb-nó@1.0.0 Não descrição npm AVISO cb-nó@1.0.0 Não repositório campo. + couchbase@3.2.0 |
O package.json
agora tem a seção de dependência:
1 2 3 |
"dependencies" (dependências): { "couchbase": "^3.2.0" } |
Conectar-se a um cluster do Couchbase
Para testar se todos os módulos estão instalados corretamente - e se você pode se conectar ao cluster - é necessário saber o nome do Bucket para se conectar e adicionar um usuário que possa acessar o Bucket do Couchbase.
1 |
var couchbase = exigir("couchbase"); |
Para o uso mais simples, envolva o restante do exemplo em uma função de conexão:
1 2 3 4 5 6 7 |
couchbase.conectar( 'couchbase://127.0.0.1', { nome de usuário: "Administrador, senha: "Administrador }, ...) |
Você também precisa selecionar o espaço da chave, ou seja, Escopo ou coleção(ões) - que você deseja acessar, se aplicável. Neste caso de teste inicial, usaremos uma coleção padrão que ignora completamente os escopos e as coleções:
1 2 3 4 5 |
... (erro, agrupamento) => { var balde = agrupamento.balde('amostra de viagem') var col = balde.defaultCollection() ... |
Obter um documento JSON
Existem milhares de amostras JSON documentos no amostra de viagem
Balde.
Para solicitar um documento usando operações básicas de valor-chave, use o obter
e fornecer um ID de documento. Você pode usar o console da Web para procurar um determinado documento de hotel e obter o ID, conforme a figura abaixo.
Capture a resposta e o erro e, em seguida, imprima no console para ver se foi bem-sucedido.
1 2 3 |
col.obter('hotel_5336', (erro, res) => { se (erro) lançar erro console.registro(res.valor) |
Se você chegou até aqui e este é seu primeiro aplicativo Node.js, parabéns! Agora você sabe como obter um documento do Couchbase com a sintaxe mais simples. O exemplo de código completo está abaixo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
var couchbase = exigir('couchbase') couchbase.conectar( 'couchbase://127.0.0.1', { nome de usuário: "Administrador, senha: "Administrador }, (erro, agrupamento) => { var balde = agrupamento.balde('amostra de viagem') var col = balde.defaultCollection() col.obter('hotel_5336', (erro, res) => { se (erro) lançar erro console.registro(res.valor) }) } ) |
Lembre-se de que este é um exemplo básico que inclui código de bloqueio. Em um artigo futuro, abordarei um exemplo que mostra exemplos assíncronos sem bloqueio.
Criar ou inserir um documento usando JavaScript
Para criar um novo documento, você pode usar a opção upsert
função. Ela é chamada de upsert
porque ele age como uma inserção (para novos documentos) ou, se já houver um documento com o mesmo ID, ele simplesmente o atualizará.
Certifique-se de que o usuário especificado tenha privilégios de gravação adequados antes de tentar um upsert
. Os exemplos abaixo pressupõem acesso administrativo total ao Bucket para manter as coisas simples.
Nesse ponto, copie seu script em um novo arquivo para testar o upsert
funcionalidade independente do obter
função.
Upsert
requer um ID de documento e um objeto JSON com os dados do documento. Você fornece o ID ao enviá-lo para o banco de dados. Crie a variável para manter os dados JSON e adicione alguns elementos a ela.
1 2 3 4 5 6 |
novo documento = { tipo: "hotel", id: 2, nome: "Le Grande", cidade: "Paris, França" } |
Em seguida, chame o upsert
juntamente com o novo ID do documento.
1 2 3 |
col.upsert('hotel_2', novo documento, (erro, res) => { console.registro(res) }) |
Imprima a saída para mostrar que uma mutação/transação foi concluída. A CAS
é usado em outros contextos para comparar a safra dos dados para rastrear/bloquear diferentes versões de dados.
A execução do script produz o seguinte resumo da transação:
1 2 3 4 5 |
$ nó aplicativo.js Resultado da mutação { cas: CbCas<1628915917601505280>, token: CbMutationToken<4:251812459673841:85:viagens-amostra> } |
Agora, você pode voltar ao seu obter
e insira o novo ID do documento para testar se ele agora pode ser recuperado.
Aqui está o script completo para fazer o simples upsert
em um script autônomo do Node.js.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
var couchbase = exigir('couchbase') couchbase.conectar( 'couchbase://127.0.0.1', { nome de usuário: "Administrador, senha: "Administrador }, (erro, agrupamento) => { var balde = agrupamento.balde('amostra de viagem') var col = balde.defaultCollection() novo documento = { tipo: "hotel", id: 2, nome: "Le Grande", cidade: "Paris, França" } col.upsert('hotel_2', novo documento, (erro, res) => { console.registro("Hotel adicionado") console.registro(res) }) } ) |
Conclusão
Obrigado por acompanhar estes exemplos básicos de JavaScript com o Couchbase. Espero que isso o ajude a começar a criar um aplicativo NoSQL usando o Node.js.
Para obter mais exemplos relacionados ao SDK confira a documentação do SDK do Node.js. Em postagens futuras, exploraremos o uso das funções de forma assíncrona e nos aprofundaremos em outras funções do Couchbase, como consulta e pesquisa.
Fique por dentro do restante da série de instruções sobre Node.js + Couchbase:
-
- Como começar a usar o SDK do Node.js para o Couchbase
- Como criar chamadas Get/Upsert assíncronas com o Node.js e o Couchbase
- Crie um aplicativo baseado em REST com Node.js, Express e Couchbase
- Como consultar dados JSON usando N1QL para Node.js e Couchbase
- Como adicionar a funcionalidade de pesquisa de texto completo ao seu aplicativo JavaScript
A postagem [...] dá continuidade à minha série introdutória sobre o uso do Node.js com o Couchbase (incluindo a postagem da semana passada sobre [...]