我正在尝试为模型“document”实现querydslmongorepository

@QueryEntity
@Document(collection="currentDocuments")
public class DocumentImpl extends TranslatableObjectImpl implements Document

在我们当前的实现中,要删除的文档将von“currentdocuments”移动到“deleteddocuments”集合中。
我找不到创建这样的存储库的解决方案
public interface DocumentRepository extends MongoRepository<DocumentImpl, String> ,QueryDslPredicateExecutor<DocumentImpl> {}

使用动态集合名称。
我的目标是在一个存储库中为不同的集合使用querydsl的优势,并且能够将模型从一个集合移动到另一个集合中,就像
public move(DocumentImpl entity, String sourceCollection, String targetCollection){
    repository.delete(entity,sourceCollection);
    repository.save(entity,targetCollection);
}

或者类似的
public List<Document> findAllDocumentsWithAttachments(String collectionName){
    return repository.findAll(QDocumentImpl.documentImpl.attachments.isNotEmpty(), collectionName);
}

有什么建议吗?

最佳答案

我通过创建自己的扩展mongorepositoryfactorybean的factorybean实现了这个特性。

07-24 19:43