Introdução à experiência de pesquisa local do MongoDB Atlas usando Docker
Avalie esse Tutorial
Este tutorial orientará você na configuração do MongoDB Atlas Local Search com Docker, preenchendo um banco de dados local com dados de amostra e configurando um índice de pesquisa. Isso é ideal para desenvolvedores que procuram simplificar seus fluxos de trabalho de aplicação orientados por pesquisa, testar pesquisa de texto completo ou baseada em IA localmente e melhorar sua produtividade trabalhando com loops de feedback rápidos e de baixa latência diretamente em seu ambiente preferido.
Antes de mergulhar nas configurações locais baseadas no Docker, é importante observar que a CLI do MongoDB Atlas oferece uma abordagem simplificada para gerenciar os sistemas do MongoDB Atlas . Essa ferramenta de linha de comando simplifica tarefas como criar clusters, gerenciar índices e configurar bancos de dados, permitindo que os desenvolvedores lidam com essas operações de forma eficiente a partir do terminal.
O Atlas CLI também permite a criação e o gerenciamento de ambientes locais, que são fornecidos usando o Docker. Para aqueles que preferem o controle prático sobre ambientes locais, este tutorial aproveita o Docker diretamente para demonstrar a flexibilidade e o poder do MongoDB Atlas Local Search, permitindo a criação rápida de protótipos e a experimentação local.
O desenvolvimento de aplicação modernos exige cada vez mais recursos avançados orientados por pesquisas que combinem indexação flexível, alto desempenho e iteração rápida. A pesquisa local do MongoDB Atlas foi projetada para atender a essas necessidades, fornecendo aos desenvolvedores ferramentas robustas que enfatizam a ergonômica do desenvolvedor e loops de feedback rápidos, essenciais para a criação de protótipos de aplicação eficiente e eficaz.
A pesquisa local do MongoDB Atlas simplifica o processo de desenvolvimento ao permitir a integração perfeita com seu ambiente local preferido. Isso elimina o conflito frequentemente encontrado ao alternar entre sistemas locais e remotos. Os desenvolvedores podem configurar, consultar e testar recursos de pesquisa diretamente em suas ferramentas conhecidas, beneficiando-se do modelo de esquema flexível e dos avançados recursos de query do MongoDB. Além disso, a configuração local permite ajustes imediatos nas configurações de índice e nos parâmetros de pesquisa, reduzindo a sobrecarga associada à implantação e iteração remotas. Com configurações baseadas em Docker, o ambiente é facilmente reproduzível, garantindo experiências de desenvolvimento consistentes entre equipes e projetos.
A velocidade é fundamental durante as fases de desenvolvimento e teste, e a pesquisa local do MongoDB Atlas oferece eficiência incomparável a esse respeito. Os clusters locais são excepcionalmente rápidos de implantar e desmontar, permitindo que os desenvolvedores criem instâncias rapidamente para testar novos recursos ou depuração. A ausência de latência de rede garante operações de leitura e escrita quase instantâneas, permitindo que os desenvolvedores testem as alterações em tempo real. Seja experimentando queries de pesquisa de texto completo, pesquisa baseada em vetor para aplicativos orientados por IA ou refinando configurações de índice, o ciclo rápido de feedback acelera os fluxos de trabalho de desenvolvimento e minimiza o tempo de inatividade. Essa agilidade gera um processo iterativo em que os desenvolvedores podem fazer melhorias incrementais com confiança, aumentando significativamente a produtividade geral.
Ao combinar essas vantagens, a pesquisa local do MongoDB Atlas fornece uma solução poderosa para a criação de aplicativos modernos orientados a pesquisa e habilita os desenvolvedores a se concentrarem na novidade e na funcionalidade sem serem prejudicados pelas complexidades da infraestrutura remota ou pelos ciclos lentos de feedback.
Antes de começar, verifique se tem o seguinte:
- Docker instalado
- Uma compreensão básica do MongoDB e Docker
- MongoDB Compass instalado para acompanhar os exemplos
- Mongosh instalado
O repositório inclui configurações do Docker, dados de exemplo e código de exemplo para simplificar a introdução à pesquisa local do MongoDB Atlas .
Siga estas instruções passo a passo para começar:
Etapa #1: extrair a imagem do Docker local do MongoDB Atlas
Execute o seguinte comando para baixar a imagem mais recente do Docker local do MongoDB Atlas :
1 docker pull mongodb/mongodb-atlas-local:latest
Se você executar
docker pull mongodb/mongodb-atlas-local
sem especificar uma marcação de versão, o Docker recuperará automaticamente a versão mais recente da imagem (mongodb/mongodb-atlas-local:latest
).Para extrair uma versão específica da imagem do Docker, use este comando, substituindo
<tag>
pela tag de versão desejada:1 docker pull mongodb/mongodb-atlas-local:<tag>
Etapa #2: Execute o banco de dados
Inicie o contêiner MongoDB :
1 docker run -p 27017:27017 mongodb/mongodb-atlas-local
Etapa #3: conecte-se ao banco de dados
Abra um segundo terminal (já que o container do MongoDB está sendo executado no modo de primeiro plano ) e conecte-se usando
mongosh
. Neste exemplo básico, a autenticação não está habilitada:1 mongosh "mongodb://localhost/?directConnection=true"
Parabéns! Agora você tem um sistema local totalmente funcional do Atlas com recursos de pesquisa.
Para verificar a configuração, vamos criar um índice de pesquisa e testá-lo.
Etapa #1: Inserir dados de amostra
Use os seguintes comandos para inserir alguns dados de amostra em uma coleção:
1 use test 2 db.sampleAtlasSearch.insertMany([ 3 { item: "card", qty: 15 }, 4 { item: "envelope", qty: 20 }, 5 { item: "stamps", qty: 30 } 6 ]);
Etapa #2: criar um índice de pesquisa
Crie um índice de pesquisa dinâmico simples :
1 db.sampleAtlasSearch.createSearchIndex({ mappings: { dynamic: true } });
Etapa #3: verificar o índice
Verifique se o índice de pesquisa foi criado com sucesso:
1 db.sampleAtlasSearch.getSearchIndexes();
Voilà! Seu primeiro índice de pesquisa em um sistema local do Atlas :
Agora que você cobriu o básico, vamos explorar como a pesquisa local do MongoDB Atlas pode agregar valor ao seu trabalho diário.
Em seguida, vamos:
Em seguida, vamos:
- Configure uma implantação local do Atlas com Docker Compose.
- Saiba como semear dados.
- Crie e execute índices de pesquisa.
Para tornar este tutorial conveniente de seguir e ajudá-lo a começar a usar a pesquisa local do MongoDB Atlas , preparei um repositório contendo tudo de que você precisa, incluindo configuração do Docker, dados de exemplo e código de exemplo . Para acompanhar, clone o repositóriodo MongoDB Local Atlas .
Vamos dar uma olhada no
docker-compose.yml
arquivo para entender como o ambiente é configurado:1 services: 2 mongodb: 3 image: mongodb/mongodb-atlas-local 4 environment: 5 - MONGODB_INITDB_ROOT_USERNAME=user 6 - MONGODB_INITDB_ROOT_PASSWORD=pass 7 - RUNNER_LOG_FILE=/dev/stderr 8 ports: 9 - 27018:27017 10 volumes: 11 - ./init:/docker-entrypoint-initdb.d 12 - ${PWD}/upload/restaurants.json:/tmp/restaurants.json
Definição de serviço
O
mongodb
serviço usa a mongodb/mongodb-atlas-local
imagem, que inclui o servidor MongoDB , o Atlas Search e o Vector Search. Você pode especificar uma versão MongoDB anexando uma tag de versão ao nome da imagem, por exemplo, mongodb/mongodb-atlas-local:8.0
. Para versões disponíveis, consulte o repositório MongoDB no Docker Hub.Variáveis de ambiente
MONGODB_INITDB_ROOT_USERNAME
eMONGODB_INITDB_ROOT_PASSWORD
definem as credenciais padrão do usuário raiz.RUNNER_LOG_FILE
é opcional, mas útil para registrar erros durante a inicialização do console.
Mapeamento de portas
O banco de dados é exposto ao host local na porta
27018
.Volumes para sementeira
- Os scripts de inicialização para popular o banco de dados são carregados do
./init
diretório, montado como/docker-entrypoint-initdb.d
dentro do container. - O arquivo de dados de amostra
restaurants.json
está montado em/tmp/restaurants.json
dentro do container.
Verificação de integridade
Uma verificação de integridade não é necessária, pois está incorporada na
mongodb-atlas-local
imagem.Para iniciar a implantação, execute o seguinte comando:
1 docker compose up
- O ambiente local é criado, incluindo o banco de dados principal e a funcionalidade Atlas Search .
- Os scripts de inicialização para a implantação do banco de dados são executados em ordem alfanumérica a partir do
./init
diretório.
Você deve ver que o
local-atlas-mongodb
contêiner foi iniciado:Para verificar, execute:
1 docker container list
Isso exibirá uma lista de containers em execução e seus status:
Como mencionado anteriormente, os scripts de inicialização são carregados do
./init
diretório e executados em ordem alfanumérica dentro do do /docker-entrypoint-initdb.d
contêiner.Veja como o processo de sementeira funciona, neste exemplo:
00-import-from-export.sh
Este script usa
mongoimport
para carregar dados exportados de outro banco de dados MongoDB /collection. Isso é ideal para replicar uma instalação de referência para desenvolvimento ou teste. O arquivo deve estar acessível no contêiner por meio do volume montado. Alternativamente, você pode baixar o arquivo diretamente para o container usando curl
e importá-lo:1 curl -o /tmp/mydatafile.json https://data.somewhere/mydatafile.json 2 mongoimport --uri $CONNECTION_STRING --collection=restaurants --db=myplaces --file=/tmp/mydatafile.json
01-import-explicit-inserts.js
Este script semeia dados executando
insertMany
comandos na shell do MongoDB . Por exemplo:1 db.getSiblingDB('myplaces').getCollection('restaurantsExtra').insertMany([ 2 { /* data */ }, 3 { /* data */ } 4 ]);
02-create-search-index.js
Este script cria um índice de pesquisa no
name
campo da restaurants
coleção. Exemplo:1 { 2 "mappings": { 3 "dynamic": false, 4 "fields": { 5 "name": { 6 "type": "string", 7 "analyzer": "lucene.standard" 8 } 9 } 10 } 11 }
Com o banco de dados em execução, você pode se conectar a ele usando várias ferramentas:
MongoDB Shell
Conecte utilizando o seguinte comando:
1 mongosh "mongodb://user:pass@localhost:27018/?directConnection=true"
MongoDB Compass
Adicione a string de conexão no Compass para conectar:
Verificação de dados
00-import-from-export.sh
deve preencher amyplaces.restaurants
coleção .01-import-explicit-inserts.js
deve adicionar dados amyplaces.restaurantsExtra
.
Ambas as collections devem estar visíveis no Compass:
Índice de pesquisa
02-create-search-index.js
deve criar um índice de pesquisa no name
campo da restaurants
collection. Você pode verificar o índice no Compass:Agora, vamos executar uma query do Atlas Search usando o MongoDB Compass. Esta query executa uma pesquisa difusa no
name
campo da restaurants
collection e limita os resultados aos três principais.1 [ 2 { 3 "$search": { 4 "index": "default", 5 "text": { 6 "query": "Food", 7 "path": "name", 8 "fuzzy": { "maxEdits": 2 } 9 } 10 } 11 }, 12 { "$limit": 3 }, 13 { 14 "$project": { 15 "_id": 0, 16 "name": 1, 17 "cuisine": 1 18 } 19 } 20 ]
Se você tiver uma implementação do Atlas existente usando a imagem oficial do
mongo
Docker do, consulte nosso guia para obter uma lista de verificação para fazer a transição para a mongodb-atlas-local
imagem do.Este tutorial forneceu uma introdução abrangente sobre como configurar e aproveitar a pesquisa local do MongoDB Atlas em um ambiente Dockerizado. Seguindo as etapas descritas, você configurou uma implantação local, inseriu dados de exemplo, criou índices de pesquisa dinâmicos e testou a configuração por meio de queries do Atlas Search . Esses processos permitem que você itere rapidamente, otimize fluxos de trabalho e crie aplicativos robustos orientados por pesquisa com o mínimo de sobrecarga.
A integração da pesquisa local do MongoDB Atlas com o Docker aumenta a produtividade do programador ao permitir um ambiente de teste local contínuo que espelha recursos semelhantes à produção. Essa abordagem simplificada elimina a latência e a complexidade frequentemente associadas a ambientes remotos, permitindo a configuração precisa e a experimentação em tempo real. As configurações do Docker Compose e os scripts de inicialização simplificam ainda mais a colaboração em equipe , garantindo ambientes consistentes em diversos sistemas.
À medida que você continua a explorar a pesquisa local do MongoDB Atlas , considere como seus recursos — como pesquisa de texto completo, pesquisas vetoriais orientadas por IA e indexação dinâmica — podem aprimorar a funcionalidade do seu aplicativo e a experiência do usuário. Ao incorporar recursos de pesquisa avançada localmente, você pode se concentrar em refinar a lógica principal do seu aplicativo, otimizar o desempenho da pesquisa e agregar valor com mais rapidez.
Principais comentários nos fóruns
Ainda não há comentários sobre este artigo.
Relacionado
Tutorial
Simplificando o desenvolvimento nativo da nuvem com o Gitpod e o MongoDB Atlas
Apr 02, 2024 | 5 min read
Tutorial
Oferecendo aos clientes uma visualização única quase em tempo real com um banco de dados federado
Jun 28, 2023 | 8 min read