sql >> Database >  >> NoSQL >> MongoDB

Combineren van Spring-Data voor MongoDB en ElasticSearch

Meerdere Spring Data-modules in één project gebruiken is mogelijk, maar vereist aandacht bij het instellen.

Het hebben van meer dan één Spring Data-module op het klassenpad maakt een strikte configuratie mogelijk die Spring Data nodig heeft om onderscheid te maken tussen repositoryverantwoordelijkheden. Dit wordt voornamelijk gedaan door annotaties en of een bepaalde repository past binnen de typehiërarchie. In jouw geval, Goal is geannoteerd met MongoDB- en Elasticsearch-annotaties, dus beide modules voelen de drang om repositories te implementeren.

De enige manier tot nu toe is om repositories in verschillende pakketten te bewaren en deze pakketten te gebruiken als basispakketten in @Enable…Repositories . Ervan uitgaande dat uw Elasticsearch-repo's zich in org.jhipster.elasticsearch.repository bevinden uw applicatieconfiguratie kan er als volgt uitzien:

@EnableMongoRepositories("org.jhipster.mongo.repository")
@EnableElasticsearchRepositories("org.jhipster.elasticsearch.repository")
@SpringBootApplication
public class SpringBootApplication { … }

HTH, Mark




  1. Controleer voor $afwikkelen of het subdocument niet leeg is

  2. Haal verschillende waarden uit de array op basis van de voorwaarden binnen de array

  3. MongoDB-aggregatie bestellen met match, sortering en limiet

  4. Mongo-ID's leiden naar enge URL's