2013-05-14 106 views
0

我有一個推文數據庫,其中實際的推文文本位於名爲「文本」的字段中。找到最長的字符串(最長的鳴叫)? MongoDB的。

它看起來像這樣:

"_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或類似的東西,但我環顧四周,我還沒有發現任何工作到目前爲止。

幫助! 謝謝!

+0

重複的https://stackoverflow.com/questions/29577713/string-field-value-length-in-mongodb – stenci 2017-07-17 00:37:18

回答

1

如果您需要執行最長推文提取,那麼最好的方法是將推文的長度作爲文檔中的單獨字段保存,並在其上有索引。然後,您可以使用.sort(-1).limit(1)快速查詢。 您可以編寫自己的腳本將JSON數據導入MongoDB(http://docs.mongodb.org/ecosystem/drivers/),並在導入時添加長度字段。

任何替代方法都意味着完全收集掃描,以便找到具有「text.length」最大值的文檔。但這是一項資源要求很高的操作,除非有效性不是你所關心的,否則一定要避免。

0

在保存文檔時,還要保存推文的長度。您可以選擇爲該字段編制索引,以便查詢運行速度過快。

+0

保存文件?你的意思是我什麼時候導入數據? – saya 2013-05-14 02:42:41

+0

當你插入推文 – 2013-05-14 03:48:05