我按照https://github.com/teiid/teiid-spring-boot/tree/master/samples/mongodb上的示例项目的步骤创建了一个项目,并添加了 org.teiid:spring-odata 依赖项以用于 OData 公开。
我发现它默认将 MongoDB 数据库中的所有集合公开为 OData 实体。是否可以将其配置为仅公开特定的集合?
我按照https://github.com/teiid/teiid-spring-boot/tree/master/samples/mongodb上的示例项目的步骤创建了一个项目,并添加了 org.teiid:spring-odata 依赖项以用于 OData 公开。
我发现它默认将 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 名称。请参阅“进口商属性” http://teiid.github.io/teiid-documents/master/content/reference/MongoDB_Translator.html
然后配置数据源
@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 而没有任何其他更改的情况。