【发布时间】:2014-06-22 20:58:36
【问题描述】:
我编写了一个应用程序,它使用 Spring MongoRepository 连接到 Product Sales 集合,其中包含所有产品的销售数据。
现在,我遇到了一个问题,因为我现在有多个 Product Sales 集合,而不是一个集合,每个集合都包含一个产品。所有集合结构仍然相同,但现在每个集合名称类似于“Sales_123”、“Sales_456”,其中数字后缀是产品 ID。
这意味着我不能再使用 Document 注释来指定集合名称。我还可以在运行时将集合名称传递给 MongoRepository 吗?
也许,是否有任何可行的方法来插入修改后的 MappingMongoEntityInformation,我可以通过某种方式将集合名称传递给它?
还是使用 mongoTemplate 重写整个内容更好?
【问题讨论】:
-
也许这是您的问题mongorepository.codeplex.com/discussions/456452的答案。但是,如果您需要更灵活地使用存储库和集合配置,则可以使用 mongoTemplate。 stackoverflow.com/a/17010650/3568708
-
谢谢,这些链接非常有用。我已经通过使用允许指定集合的 Spring mongo 操作解决了我的问题(您为 mongodb 提供的第一个链接显示了这些方法,因此发现它们也暴露在 spring mongo 中)。
-
我添加了我的存储库 impl 类,但不允许 Spring 自动为该 repo 实现任何东西,因为它不正确,因为 Spring 将添加的实现不会知道正确的集合名称
标签: spring mongodb repository spring-data