Teiid Spring Boot:如何将特定MongoDB集合公开为OData实体?

Teiid Spring Boot:如何将特定MongoDB集合公开为OData实体?,mongodb,odata,teiid,Mongodb,Odata,Teiid,我按照位于的示例项目的步骤创建了一个项目,并为odata暴露添加了org.teid:spring-odata-dependency 我发现它默认将MongoDB数据库中的所有集合公开为OData实体。是否可以将其配置为仅公开特定集合?更新: 您可以将以下内容添加到application.properties中: spring.teiid.data.mongodb.accounts.remoteServerList=localhost:27017 spring.teiid.data.mongodb

我按照位于的示例项目的步骤创建了一个项目,并为odata暴露添加了org.teid:spring-odata-dependency

我发现它默认将MongoDB数据库中的所有集合公开为OData实体。是否可以将其配置为仅公开特定集合?

更新:

您可以将以下内容添加到application.properties中:

spring.teiid.data.mongodb.accounts.remoteServerList=localhost:27017
spring.teiid.data.mongodb.accounts.database=sampledb
spring.teiid.data.mongodb.accounts.user=admin
spring.teiid.data.mongodb.accounts.password=admin
spring.teiid.data.mongodb.accounts.authDatabase=admin

spring.teiid.data.mongodb.accounts.importer.excludeTables=.*
其中“accounts”是bean名称。请参阅“导入器属性”

然后配置数据源

@Configuration
public class DataSources {
    @Bean
    public MongoDBConnectionFactory accounts(@Qualifier("config") @Autowired MongoDBConfiguration config) {
        return new MongoDBConnectionFactory(new MongoDBTemplate(config));
    }

    @ConfigurationProperties("spring.teiid.data.mongodb.accounts")
    @Bean("config")
    public MongoDBConfiguration mongoConfig() {
        return new MongoDBConfiguration();
    }
}

以上是严格地说只公开MongoDB而不做任何其他更改的时候

谢谢你的快速回复。我尝试了spring.data.mongodb.raasagent.importer.excludeTables=.*,我希望mongodb的集合没有一个作为OData实体公开,但它似乎不起作用。“raasagent”是我在DataSources类中定义的bean。有什么线索吗?谢谢。我采纳了以下回购协议的变更。它似乎不起作用,我仍然看到
matrix\u变量
集合和
headerRow
作为OData实体公开。您可以看到这里的检查在调试中失败的原因感谢在调试时共享代码行。我将在完成更高优先级的任务后进行调查。