当mongodb集合为空时,活动的可尾光标关闭

时间:2019-01-17 07:41:40

标签: mongodb spring-boot spring-data flux reactive

我正在使用webflux从使用Spring Boot的mongodb集合和带有可拖尾游标的spring数据mongodb开发流。

当集合包含1个或更多文档时,由于您可以获取光标,因此流正在工作。问题是我想用一个空的集合打开流,因为我想流传输集合中的每个文档。

我一直在阅读文档,而且应该是正确的:

https://docs.spring.io/spring-data/mongodb/docs/current/reference/html/#tailable-cursors

  

可访问的游标可能会失效或无效,如果查询未返回匹配项,或者游标将文档返回集合的“末尾”,则应用程序将删除该文档

我正在评估通过弹簧靴和助焊剂实现此目标的最佳方法(从一个空集合中打开流),但我想知道是否有任何想法或解决方法。

谢谢。

1 个答案:

答案 0 :(得分:0)

实际上,即使对空的有上限的集合进行“查找全部”也被视为没有匹配项,并且光标已死。 reactMongoOperations.tail(new Query(),Event.class)返回一个无效的游标,带注释的存储库样式也将返回。 春季文档只是复制mongo文档,状态为

  

如果出现以下情况之一,可用的游标可能会变为无效或无效:   查询不返回匹配项。   光标将文档返回到集合的“末尾”,然后应用程序>删除该文档。

唯一的解决方法似乎是在订阅之前插入的初始虚拟条目。