Return MongoDB 中的最后一个值查询 Spring XD Source 模块

Return last value query in MongoDB in Spring XD Source module

我希望能够创建一个 query/query-expression 我可以在 SprinXD MongoDB 源模块中使用到 return 只有最后插入的文档。

似乎 max-messages-per-poll 并不能解决问题 (paginated data with the help of mongo inbound adapter in spring integration)

我知道如何使用聚合、findOne()、limit() 等来实现它,但我还没有找到使用查询对象来实现它的方法。

我的信息流如下:

mongodb --collectionName=Notifications --fixedRate=10000 --query={'$query':{}},{'$limit':1} | log

但我仍在return处理所有文件。

感谢任何帮助。

谢谢, 大卫

我们不能只用那个简单的 MongoDB 来源来做到这一点。它只需要 MongoDB 查询样式中的 JSON 字符串,但没有 hooks 提供 limitskipsort 等选项.

因此,您的流中必须有一个 transformer 处理器模块来从 find 结果中过滤掉所有不需要的记录。

随时提出反对 Spring 集成的 JIRA 票,以改进 MongoDbMessageSource 以接受任何 Query 对象,而不仅仅是 String 简单的 BasicQuery.