I am using Spring's MongoRespository. I have one class but it is called by two methods and I want to store that class in Mongo based on which method called it. How would I differentiate how it was used by having two different collections based on that one class in mongo?
Right now I have my have two repository interfaces in my dao.
public interface PastOpportunityRepository extends MongoRepository<DMOpportunity, String>, CustomPastOpportunityRepository {}
and
public interface PredictiveOpportunityRepository extends MongoRepository<DMOpportunity, String>, CustomPredictiveOpportunityRepository {`
I want to avoid making two differently named classes with the same code.
Yes, you can have multiple collections within a database in MongoDB.
@Document is an annotation provided by Spring data project. It is used to identify a domain object, which is persisted to MongoDB. So you can use it to map a Java class into a collection inside MongoDB. If you don't use Spring Data, you don't need this annotation.
I suggest using Springs MongoTemplate
that has overloads that take the collection name.
MongoTemplate
MongoTemplate.find(Query query, Class entityClass, String collectionName)
MongoTemplate.insert(Object objectToSave, String collectionName)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With