Conéctate con mongosh

Aprende a crear una base de datos de Firestore con compatibilidad con MongoDB y a conectarte a ella con la herramienta mongosh.

Antes de comenzar

  1. En la consola de Google Cloud , ve a la página del selector de proyectos.

    Ir al selector de proyectos

  2. Selecciona o crea un proyecto de Google Cloud .

    Roles necesarios para seleccionar o crear un proyecto

    • Selecciona un proyecto: Para seleccionar un proyecto, no se requiere un rol de IAM específico. Puedes seleccionar cualquier proyecto en el que se te haya otorgado un rol.
    • Crear un proyecto: Para crear un proyecto, necesitas el rol de Creador de proyectos (roles/resourcemanager.projectCreator), que contiene el permiso resourcemanager.projects.create. Obtén más información para otorgar roles.
  3. Verifica que la facturación esté habilitada para tu proyecto de Google Cloud .

  4. Asegúrate de tener los siguientes roles en el proyecto: Propietario de Cloud Datastore

    Verifica los roles

    1. En la consola de Google Cloud , dirígete a la página IAM.

      Ir a IAM
    2. Selecciona el proyecto.
    3. En la columna Principal, busca todas las filas que te identifiquen a ti o a un grupo en el que se te incluya. Para saber en qué grupos estás incluido, comunícate con tu administrador.

    4. Para todas las filas en las que se te especifique o se te incluya, verifica la columna Rol para ver si la lista de roles incluye los roles necesarios.

    Otorga los roles

    1. En la consola de Google Cloud , dirígete a la página IAM.

      Ir a IAM
    2. Selecciona el proyecto.
    3. Haz clic en Otorgar acceso.
    4. En el campo Principales nuevas, ingresa tu identificador de usuario. Esta suele ser la dirección de correo electrónico de una Cuenta de Google.

    5. Haz clic en Seleccionar un rol y, luego, busca el rol.
    6. Para otorgar roles adicionales, haz clic en Agregar otro rol y agrega uno más.
    7. Haz clic en Guardar.
  5. Instala la herramienta mongosh

Crea una base de datos de Firestore con compatibilidad con MongoDB y recupera la cadena de conexión

En la consola de Google Cloud , crea una base de datos nueva de la edición de Firestore Enterprise. Firestore con compatibilidad con MongoDB requiere la edición Enterprise de Firestore:

  1. En la consola de Google Cloud , ve a la página Bases de datos.

    Ir a Bases de datos

  2. Haz clic en Crear una base de datos de Firestore.
  3. Ingresa un ID de la base de datos.
  4. Selecciona Enterprise Edition.
  5. Selecciona una ubicación para tu base de datos.
  6. Haz clic en Crear base de datos.

    Cuando se complete la inicialización de la base de datos, la consola abrirá Firestore Studio para tu base de datos.

  7. En la sección Conéctate a Firestore con una herramienta externa de MongoDB, copia la cadena de conexión.

La cadena de conexión depende del UID de la base de datos (generado por el sistema) y de la ubicación de la base de datos:

UID.LOCATION.firestore.goog

Crea un usuario para la autenticación SCRAM

En la consola de Google Cloud , crea un usuario de base de datos nuevo y asígnale permisos de Identity and Access Management.

  1. En la consola de Google Cloud , ve a la página Bases de datos.

    Ir a Bases de datos

  2. Selecciona la base de datos de la lista.
  3. En el menú de navegación, haz clic en Seguridad.
  4. Haz clic en Agregar usuario.
  5. Ingresa un nombre de usuario.
  6. Selecciona un rol de Identity and Access Management para el usuario.
  7. Haz clic en Crear. La base de datos crea un usuario y te muestra la contraseña generada. Copia y guarda esta contraseña. No podrás recuperar esta contraseña más adelante.

Conectar a través de mongosh

Usa la cadena de conexión, el nombre de usuario y la contraseña para conectarte a tu base de datos y ejecutar mongosh de forma local con las siguientes opciones de configuración.

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

Reemplaza lo siguiente:

  • USERNAME: Es el nombre del usuario de la base de datos que creaste.
  • PASSWORD: Es la contraseña generada para el usuario de la base de datos que creaste.
  • CONNECTION_STRING: Es la cadena de conexión de la base de datos.
  • DATABASE_ID: Es un ID de base de datos.

Una vez que se conecte, podrá crear y leer datos, por ejemplo:

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

¿Qué sigue?