我正在研究一个简单的项目。我正在使用SpringData和MongoDB。
创建普通集合的一切都很完美,但现在我必须注册信息,我的意思是记录功能。
所以我在mongo文档中读到了这个:
上限集合提供了一种高性能的存储方式 记录数据库中的文档。在未编制索引中插入对象 上限集合将接近记录到的速度 文件系统。此外,使用内置FIFO机制,您就是 不存在使用过多磁盘空间进行日志记录的风险。
我觉得很棒!这就是我需要的,但我有一个疑问。是否可以用SpringData创建这种集合?我在SpringData文档中找不到任何内容。
有人对此有所了解吗?
由于
答案 0 :(得分:5)
答案 1 :(得分:0)
如果您有spring-data创建的集合(例如:reservation
),您可以轻松地将其转换为上限,就像这样:
db.runCommand({ convertToCapped: 'reservation', size: 9128 })
阅读mongodb手册:https://docs.mongodb.com/manual/reference/command/convertToCapped/
ps:@Tailable
注释非常性感,它可以帮助您跟踪该集合的更新并使用反应式编程原则对其进行更改
答案 2 :(得分:0)
现在不建议使用CollectionOptions options = new CollectionOptions(null, 5000, true)
。
改为使用CollectionOptions options = CollectionOptions.empty().capped().size(5242880).maxDocuments(5000)
。
不要忘记指定大小。
文档中的所有内容均在此处进行了说明:https://docs.spring.io/spring-data/mongodb/docs/current/reference/html/#tailable-cursors