限制 Kettle 的 mongodb 输入中的行数
Posted
技术标签:
【中文标题】限制 Kettle 的 mongodb 输入中的行数【英文标题】:Limit number of rows in mongodb input of Kettle 【发布时间】:2014-11-10 08:53:17 【问题描述】:我想通过限制行数来检索mongodb输入中的数据。
但我发现$limit
操作在 Kettle 中不起作用。
有一个类似的帖子使用$maxScan
来解决它(link)。但是我的查询中有一些条件。例如:
"$query" : "type" : " view " , $orderby : "time" : -1, $limit : 100 // not working
使用$maxScan
的结果完全不同。 $maxScan
只能返回 10 行。
我该如何解决这个问题?为什么 Kettle 不支持 $limit
操作?我认为这是一个基本的操作。
非常感谢!
【问题讨论】:
【参考方案1】:终于!我通过@Keviswang 的建议解决了这个问题。我们必须使用MongoDB提供的聚合方法,这里是链接:docs.mongodb.org/manual/applications/aggregation。
在我的例子中,我在 Kettle 的 MongoDB Input 中使用了这个查询,我们还必须选择 Query is aggregation pipline
。
$match: activity_type: " view ",
$sort: activity_target: -1 ,
$limit: 10
以下屏幕截图可以帮助您更清楚地了解操作。
【讨论】:
【参考方案2】:也许你可以使用聚合框架。
【讨论】:
什么是聚合框架?你能给我一些例子吗?非常感谢! 感谢您的建议!我找到了解决问题的方法!以上是关于限制 Kettle 的 mongodb 输入中的行数的主要内容,如果未能解决你的问题,请参考以下文章
pentaho dpi-5.3(kettle)中的mongodb源代码在哪里?
kettle7.0将sqlserver中的数据同步到mongoDB中