【问题标题】:find longest string (longest tweet)? mongodb.找到最长的字符串(最长的推文)? mongodb。
【发布时间】:2013-05-08 04:57:17
【问题描述】:

我有一个推文数据库,其中实际的推文文本位于名为“文本”的字段中。

看起来像这样:

 "_id" : ObjectId("519184ad34dfb73dcdfdda2f"),
    "created_at" : "Mon May 13 01:41:25 +0000 2013",
    "id" : NumberLong("333758850945667072"),
    "id_str" : "333758850945667072",
    "text" : "No quiero ir a la. Escuela",

我想知道如何查询和显示最长的推文? 我一直在想可能是 .sort 或 .length 或类似的东西,但我环顾四周,到目前为止还没有找到任何可行的方法。

帮助! 谢谢!

【问题讨论】:

标签: mongodb mongodb-query


【解决方案1】:

如果您需要执行最长推文提取,那么最好的方法是将推文的长度作为文档中的单独字段保留,并在其上设置索引。然后您可以使用 .sort(-1).limit(1) 进行快速查询。 您可以编写自己的脚本将 JSON 数据导入 MongoDB (http://docs.mongodb.org/ecosystem/drivers/) 并在导入时添加长度字段。

任何替代方法都意味着进行完整的集合扫描,以找到具有最大值“text.length”的文档。但这是一个非常耗费资源的操作,除非您不关心有效性,否则绝对应避免。

【讨论】:

    【解决方案2】:

    在保存文档的同时,也保存推文的长度。您可以选择为该字段编制索引,以便查询运行速度过快。

    【讨论】:

    • 保存文档?你的意思是当我导入数据的时候?
    • 插入推文时
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-14
    相关资源
    最近更新 更多