首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Springboot2 +Reactive+ mongo =>可跟踪和封顶收藏

Springboot2 +Reactive+ mongo =>可跟踪和封顶收藏
EN

Stack Overflow用户
提问于 2018-05-04 13:28:43
回答 2查看 2.3K关注 0票数 0

我试着用Springboot2做一些测试,特别是用反应堆(Flux/Mono)。我正面临着一个问题。

当我尝试使用存储库方法时,一定要检索我的所有人员,我使用该方法:@Tailable ();

但在我的例子中,我收到了那个错误

代码语言:javascript
复制
Caused by: com.mongodb.MongoQueryException: Query failed with error code 2 and error message 'error processing query: ns=test.person batchSize=2Tree: $andSort: {}Proj: {} tailable cursor requested on non capped collection' on server localhost:27017

当我将我的收藏设置为“上限”时,它就能工作了。

代码语言:javascript
复制
db.runCommand( { convertToCapped: 'person', size: 8192 } )

但出于很多原因,我不会使用有上限的收藏

  • 无法删除文档(必须删除集合)
  • 不对此属性进行编程设置。

我不知道如何解决这个问题,也许我的代码或选择是错误的。

有人能解释一下如何在我的数据库中只检索新元素吗?

问候

EN

回答 2

Stack Overflow用户

发布于 2018-06-01 18:22:50

这是设计上的,而不是Spring数据的限制。MongoDB只支持上限集合上的可跟踪游标(请参阅mongodb参考文档)。

正如链接文档中所解释的,您可以选择轮询新元素的索引集合(我不知道Spring数据中有任何反应性集成)。

票数 1
EN

Stack Overflow用户

发布于 2021-05-20 20:12:48

如果您正在使用ReactiveMongoOperations,请不要忘记订阅以下方法:mongoOperations.createCollection(ItemCapped.class, CollectionOptions.just(Collation.simple()).capped().size(50000).maxDocuments(20)).subscribe();

使用弹簧2.4.5

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50176125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档