找到最长的字符串(最长的推文)? MongoDB的。

时间:2013-05-14 02:36:36

标签: mongodb mongodb-query

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

它看起来像这样:

 "_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或类似的东西,但我环顾四周,到目前为止我还没有发现任何有用的东西。

帮助! 谢谢!

2 个答案:

答案 0 :(得分:1)

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

任何替代方法都意味着进行完整的集合扫描,以便找到最大值为“text.length”的文档。但这是一项资源要求非常高的操作,除非有效,否则一定要避免。

答案 1 :(得分:0)

保存文档时,还要保存推文的长度。您可以选择索引该字段,以便查询运行得太快。