Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

213
Vistas
Realice operaciones de búsqueda en múltiples bases de datos en el proyecto Spring Boot

Mi pregunta: tengo mongodb instalado en el servidor ubuntu y tiene varias bases de datos y quiero conectarme a mongodb instalado en el servidor y obtener todas las bases de datos (nombre de las bases de datos, colecciones de cada base de datos) y realizar operaciones de búsqueda en todas las bases de datos. Nota: no sabía los nombres de la base de datos.

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

No funcionará fuera de la caja. Si incluye el proyecto inicial spring-boot mongodb, buscará la propiedad 'spring.data.mongodb.uri' para conectarse a una única base de datos y, si no la encuentra, intentará conectarse a 'localhost: 27017'. Esta única base de datos se utilizará automáticamente para todos los repositorios de datos de Spring.

Puede agregar beans MongoClient adicionales para diferentes bases de datos, pero necesitará algo de trabajo para conectar diferentes repositorios de datos de Spring a esos beans diferentes.

Y si desea trabajar con un conjunto dinámico de bases de datos, es decir, cuando no sabe qué bases de datos o cuántas, no puede trabajar con MongoClients fijos como Spring Beans de todos modos. Necesitará algún tipo de fábrica que cree múltiples beans MongoClient en función de la cantidad de bases de datos y múltiples beans SearchRepository conectados a cada uno de esos beans MongoClient.

Depende de la complejidad de su proyecto, pero para este caso de uso no usaría Spring Data en absoluto, sino que me ceñiría a la API del cliente MongoDB Java:

 Map<String, MongoClient> clientsPerDatabase = new HashMap<>(); // Setup MongoClient mongoClient = new MongoClient(/* default database */); MongoCursor<String> dbsCursor = mongoClient.listDatabaseNames().iterator(); while(dbsCursor.hasNext()) { String databaseName = dbsCursor.next(); if (!"admin".equals(databaseName)) { clientsPerDatabase.put(databaseName, new MongoClient(...+databaseName); } } // Query for(MongoClient client: clientsPerDatabase.values()){ ... }
over 4 years ago · Santiago Trujillo Denunciar

0

Configuraría la aplicación Spring Boot con acceso de administrador a la base de datos y luego usaría consultas nativas para recuperar información sobre todas las bases de datos, esquemas, etc.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda