【问题标题】:Limit no. of rows in mongodb input限制号mongodb 输入中的行数
【发布时间】:2013-06-24 09:31:01
【问题描述】:

如何限制数量。在kettle中使用的mongodb输入转换中检索到的行数。

我在 mongodb 输入查询中尝试了以下查询,但它们都不起作用:

{"$query" : {"$limit" : 10}} 或 {"$limit" : 10}

请告诉我哪里出错了。

谢谢, 深蒂

【问题讨论】:

  • 请参阅:ahttp://stackoverflow.com/questions/17270613/finding-first-20-documents-from-collection-in-mongodb 并在docs.mongodb.org/manual/tutorial/getting-started阅读完整文档
  • 嗨德里克,感谢您的建议。但是我浏览了一些教程,其中大多数都是从 mongodb shell 查询的。但是我想在导入数据的时候把我的数据限制在pentaho数据集成工具上。

标签: mongodb pentaho kettle


【解决方案1】:

您可以使用多个查询modification operators。它们的名称并不完全直观,并且与您在 Mongo shell 中使用的函数名称不匹配,但它们的作用相同。

在您的情况下,您需要 $maxScan 运算符。您可以将查询编写为:

{"$query": {...}, "$maxScan": 10}

【讨论】:

    【解决方案2】:

    我们必须使用MongoDB提供的聚合方法,这里是链接:docs.mongodb.org/manual/applications/aggregation

    在我的例子中,我在 Kettle 的 MongoDB Input 中使用了这个查询,我们还必须选择 Query is aggregation pipline。

    {$match: {activity_type: " view "}},
    {$sort: {activity_target: -1 } },
    {$limit: 10}
    

    以下屏幕截图可以帮助您更清楚地了解操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-11
      • 2014-07-03
      • 1970-01-01
      相关资源
      最近更新 更多