← Bases de datos
MO

MongoDB

Marca MongoDB en una app y recibe su propio nombre de base en el MongoDB compartido del servidor. Esto es exactamente lo que obtienes, qué no cubre todavía, y cuándo tiene más sentido una instancia dedicada.

Qué obtienes

  • MongoDB 7 (mongo:7), compartido en el servidor: cada app recibe su propio nombre de base (app_<id>) en esa instancia, expuesto como MONGODB_URL y los alias MONGODB_URI, MONGO_URL, MONGOLAB_URI y MONGOHQ_URL que algunos frameworks esperan.
  • A diferencia de Postgres y MySQL, el complemento compartido todavía no crea un inicio de sesión separado por app; el aislamiento es por nombre de base y por la red privada del servidor, no por credenciales propias de cada app.
  • No forma parte del sistema de respaldo programado, que cubre Postgres, MySQL y ClickHouse. Mover una app a un servidor de base de datos copia sus datos de MongoDB una sola vez, en ese traslado.
  • Sin restauración a un punto en el tiempo ni failover automático para el complemento compartido; eso cubre Postgres (restauración a un punto en el tiempo) o Postgres, MySQL y Redis (failover del servidor en espera).
  • Las apps que necesitan un verdadero conjunto de réplicas, para change streams, reciben su propio contenedor MongoDB dedicado como parte de una stack en lugar del complemento compartido, porque una sola instancia compartida no puede ofrecer eso.

Cómo agregarlo

  1. 1

    Marca MongoDB al crear la app

    En Nueva app, o después desde Editar → Complementos, marca MongoDB y despliega. Railyard inyecta MONGODB_URL (y sus alias) antes de que corra el build.

  2. 2

    O agrégalo desde la CLI

    railyard apps create <name> <git-url> --addons mongodb hace lo mismo desde una terminal.

  3. 3

    Conectarte desde fuera de tus apps

    Trusted addresses, el proxy TCP para conectarte desde tu propia máquina, hoy cubre Postgres, MySQL, ClickHouse, Redis y RabbitMQ. MongoDB todavía no está en esa lista, así que consúltalo desde otra app en el mismo servidor o red del equipo, o por SSH al servidor mismo.

Un ejemplo de un clic

LibreChat despliega su propio conjunto de réplicas MongoDB de un solo nodo junto a la app, el patrón que usa Railyard cuando una app necesita change streams en vez del complemento compartido. Rocket.Chat hace lo mismo para chat de equipo.

Desplegar LibreChat Plan gratuito, sin tarjeta.

O despliega una instancia independiente despliega una instancia MongoDB independiente con un usuario root y contraseña generados, si eso es todo lo que necesitas.

Preguntas frecuentes

¿Cuánto cuesta MongoDB en Railyard?
No hay un cargo aparte por el complemento compartido; corre en el servidor que ya estás pagando. Una stack como LibreChat, que incluye su propio MongoDB dedicado, también corre en el mismo servidor, al mismo precio de plan.
¿Se respalda el complemento de MongoDB?
El complemento compartido no forma parte de los respaldos programados de Railyard, esos cubren Postgres, MySQL y ClickHouse. Una app MongoDB independiente, desplegada desde el catálogo de plantillas, se respalda igual que el volumen de datos de cualquier app, según el calendario que le definas.
¿Cómo me conecto desde afuera, con Compass o mongosh?
El complemento compartido es privado a la red del servidor; Trusted addresses todavía no cubre MongoDB. Despliega en cambio una instancia MongoDB independiente si necesitas apuntar Compass o mongosh directamente, ya que esa sí recibe sus propias credenciales generadas para conectarte.
¿Cómo migro datos existentes de MongoDB?
Corre mongodump contra tu base anterior, y luego mongorestore contra el MONGODB_URL generado una vez que el complemento esté activo, o apunta la app a una cadena de conexión externa bajo Resources mientras copias los datos.

Tutoriales que lo usan

Documentación general