Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

215
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!