Explore o novo chatbot do Developer Center! O MongoDB AI chatbot pode ser acessado na parte superior da sua navegação para responder a todas as suas perguntas sobre o MongoDB .

Saiba por que o MongoDB foi selecionado como um líder no 2024 Gartner_Magic Quadrupnt()
Desenvolvedor do MongoDB
Centro de desenvolvedores do MongoDB
chevron-right
Produtos
chevron-right
Atlas
chevron-right

Introdução à experiência de pesquisa local do MongoDB Atlas usando Docker

Michael Höller6 min read • Published Jan 15, 2025 • Updated Jan 21, 2025
PesquisaAtlas
Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Tutorial
star-empty
star-empty
star-empty
star-empty
star-empty
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.

Por que procurar localmente no MongoDB Atlas ?

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.

Egotividade do programador

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.

loops de feedback rápido

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.

Pré-requisitos

Antes de começar, verifique se tem o seguinte:
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 .

Criar uma implantação local do Atlas com Docker

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 :
1docker 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:
1docker pull mongodb/mongodb-atlas-local:<tag>
Etapa #2: Execute o banco de dados
Inicie o contêiner MongoDB :
1docker 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:
1mongosh "mongodb://localhost/?directConnection=true"
Atlas Local Search
Parabéns! Agora você tem um sistema local totalmente funcional do Atlas com recursos de pesquisa.

Criar e testar um índice 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:
1use test
2db.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 :
1db.sampleAtlasSearch.createSearchIndex({ mappings: { dynamic: true } });
Etapa #3: verificar o índice
Verifique se o índice de pesquisa foi criado com sucesso:
1db.sampleAtlasSearch.getSearchIndexes();
Voilà! Seu primeiro índice de pesquisa em um sistema local do Atlas :
Atlas Local Search

Qual é o próximo?

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:
  • Configure uma implantação local do Atlas com Docker Compose.
  • Saiba como semear dados.
  • Crie e execute índices de pesquisa.
  • Use o MongoDB Compass para se conectar ao sistema.

Criar uma implantação local do Atlas com Docker

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 .

O que há na caixa?

Vamos dar uma olhada no docker-compose.yml arquivo para entender como o ambiente é configurado:
1services:
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

Detalhes de configuração da chave

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 e MONGODB_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.

Acelere a implementação

Para iniciar a implantação, execute o seguinte comando:
1docker compose up

O que acontece

  1. O ambiente local é criado, incluindo o banco de dados principal e a funcionalidade Atlas Search .
  2. 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:
Sistema acima
Para verificar, execute:
1docker container list
Isso exibirá uma lista de containers em execução e seus status:
Lista de containers

Sementeira de banco de dados

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:
1curl -o /tmp/mydatafile.json https://data.somewhere/mydatafile.json
2mongoimport --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:
1db.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}

Conectar ao banco de dados

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:
1mongosh "mongodb://user:pass@localhost:27018/?directConnection=true"
Atlas Local Search
MongoDB Compass
Adicione a string de conexão no Compass para conectar:
MongoDB Compass

Verifique a sementeira

Verificação de dados
  • 00-import-from-export.sh deve preencher a myplaces.restaurants coleção .
  • 01-import-explicit-inserts.js deve adicionar dados a myplaces.restaurantsExtra.
Ambas as collections devem estar visíveis no Compass:
MongoDB 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:
MongoDB Compass
MongoDB Compass

executar uma query de pesquisa Atlas

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]
MongoDB Compass

Converter um sistema existente

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.

Conclusão

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.
Iniciar a conversa

Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Tutorial
star-empty
star-empty
star-empty
star-empty
star-empty
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
Tutorial

Criando de um pipeline de entrega contínua em vários ambientes para o MongoDB Atlas


Jan 23, 2024 | 8 min read
Tutorial

Como implantar o MongoDB Atlas com AWS CloudFormation


Mar 20, 2024 | 6 min read
Sumário