Conectar com o mongosh

Aprenda a criar um banco de dados do Firestore com compatibilidade com o MongoDB e se conectar a ele com a ferramenta mongosh.

Antes de começar

  1. No Google Cloud console do, acesse a página Seletor de Projetos.

    Acessar o seletor de projetos

  2. Selecione ou crie um Google Cloud projeto do.

    Papéis necessários para selecionar ou criar um projeto

    • Selecionar um projeto: a seleção de um projeto não exige um papel específico do IAM. Você pode selecionar qualquer projeto em que tenha recebido um papel.
    • Criar um projeto: para criar um projeto, você precisa do papel de criador de projetos (roles/resourcemanager.projectCreator), que contém a resourcemanager.projects.create permissão. Saiba como conceder papéis.
  3. Verifique se o faturamento está ativado para o Google Cloud projeto.

  4. Verifique se você tem os seguintes papéis no projeto: proprietário do Cloud Datastore

    Verificar os papéis

    1. No Google Cloud console, acesse a página IAM.

      Acessar IAM
    2. Selecione o projeto.
    3. Na coluna Principal, encontre todas as linhas que identificam você ou um grupo no qual você está incluído. Para saber em quais grupos você está incluído, entre em contato com o administrador.

    4. Para todas as linhas que especificam ou incluem você, verifique a coluna Papel para saber se a lista de papéis inclui os papéis necessários.

    Conceder os papéis

    1. No Google Cloud console, acesse a página IAM.

      Acessar IAM
    2. Selecione o projeto.
    3. Clique em Conceder acesso.
    4. No campo Novos principais, digite seu identificador de usuário. Normalmente, é o endereço de e-mail de uma Conta do Google.

    5. Clique em Selecionar um papel e pesquise o papel.
    6. Para conceder outros papéis, clique em Adicionar outro papel e adicione cada papel adicional.
    7. Clique em Salvar.
  5. Instale a ferramenta mongosh

Criar um banco de dados do Firestore com compatibilidade com o MongoDB e recuperar a string de conexão

No Google Cloud console do, crie um banco de dados da edição Enterprise do Firestore. O Firestore com compatibilidade com o MongoDB exige a edição Enterprise do Firestore:

  1. No Google Cloud console, acesse a página Bancos de dados.

    Acessar "Bancos de dados"

  2. Clique em Criar um banco de dados do Firestore.
  3. Insira um ID do banco de dados.
  4. Selecione a edição Enterprise.
  5. Selecione um local para seu banco de dados.
  6. Clique em Criar banco de dados.

    Quando o banco de dados concluir a inicialização, o console vai abrir o Firestore Studio para seu banco de dados.

  7. Na seção Conectar-se ao Firestore usando uma ferramenta externa do MongoDB, copie a string de conexão.

A string de conexão depende do UID do banco de dados (gerado pelo sistema) e da localização dele:

UID.LOCATION.firestore.goog

Criar um usuário para autenticação SCRAM

No Google Cloud console, crie um usuário do banco de dados e atribua a ele permissões do Identity and Access Management.

  1. No Google Cloud console, acesse a página Bancos de dados.

    Acessar "Bancos de dados"

  2. Selecione o banco de dados na lista de bancos de dados.
  3. No menu de navegação, clique em Segurança.
  4. Clique em Adicionar usuário.
  5. Digite um nome de usuário.
  6. Selecione uma função do Identity and Access Management para o usuário.
  7. Clique em "Criar". O banco de dados cria um usuário e mostra a senha gerada dele. Copie e salve essa senha. Não será possível recuperar essa senha depois..

Conectar usando mongosh

Use a string de conexão, o nome de usuário e a senha para se conectar ao banco de dados e execute mongosh localmente com as seguintes opções de configuração.

mongosh 'mongodb://USERNAME:PASSWORD@CONNECTION_STRING:443/DATABASE_ID?loadBalanced=true&authMechanism=SCRAM-SHA-256&tls=true&retryWrites=false'

Substitua:

  • USERNAME: o nome do usuário do banco de dados que você criou.
  • PASSWORD: a senha gerada para o usuário do banco de dados que você criou.
  • CONNECTION_STRING: a string de conexão do banco de dados.
  • DATABASE_ID: um ID do banco de dados.

Depois de conectado, você pode criar e ler dados. Por exemplo:

db.pages.insertOne({ message: "Hello World!"})
db.pages.find({})
exit

A seguir