spring-projects / spring-data-mongodb

Provides support to increase developer productivity in Java when using MongoDB. Uses familiar Spring concepts such as a template classes for core API usage and lightweight repository style data access.
https://spring.io/projects/spring-data-mongodb/
Apache License 2.0
1.62k stars 1.09k forks source link

Question: Why not add a callback to retrieve such methods? #4593

Closed haoqi6677 closed 9 months ago

haoqi6677 commented 10 months ago

Hello, may I ask, the save method has callback, which is satisfactory and can meet the requirement, but the retrieval method does not have callback, which cannot meet the requirement of adding parameters to the document before query

christophstrobl commented 10 months ago

I'm not sure if I understand the issue correctly. Maybe you can give me a bit more context. From what I read this sounds roughly like #2067.

haoqi6677 commented 10 months ago

I'm not sure if I understand the issue correctly. Maybe you can give me a bit more context. From what I read this sounds roughly like #2067.

yes....It seems that the issue of multi-tenancy is still bothering me, a user of spring-data-mongo. I have searched a lot, and most of them are based on switching data sources to achieve multi-tenancy, but I think that is not elegant enough and requires too many resources. There are too many, it is unrealistic. I want to make aspects on the org.springframework.data.mongodb.core.MongoTemplate.doFind method, but it turns out that it is default modified. I want to make org.springframework.data.mongodb.repository. Query.AbstractMongoQuery.doExecute This protected modified method was rewritten to achieve the purpose of modifying Query. I found that I had to modify the factory, which was too troublesome and still couldn't be done, so I asked here. I also want to ask if it is possible. Are there any examples you can refer to? Reading the official documentation did not achieve the results I wanted

haoqi6677 commented 9 months ago

Temporarily use a way to achieve the goal, thank you