2016-04-14 108 views
0

名單我有一個文件,看起來像這樣:查詢MongoDB中

{ 
"_id" : ObjectId("570fc2381d4899be8a8ec9d9"), 
"statuses" : [ 
    { 
     "created_at" : "Wed Apr 13 09:56:39 +0000 2016", 
     "id" : 7.20188946337153e+017, 
     "id_str" : "720188946337153024", 
     "text" : "RT @BCC_Assicura: #FormulaAuto la #polizza #Auto e #Moto economica BccPordenonese - #BCC#Assicurazioni #Click2go" 
    }, 
    { 
     "created_at" : "Wed Apr 13 09:40:13 +0000 2016", 
     "id" : 7.20184809658708e+017, 
     "id_str" : "720184809658707970", 
     "text" : "Auto e moto storiche, vademecum su assicurazione e bollo - \n#autostoriche #bollo #RCauto #ASI #FMI" 
    } 
]} 

如何查詢其中變量文本包含字符串「assicur」的所有記錄?

謝謝!

+1

爲什麼'r'是這個問題的標籤?似乎應該刪除它。 – JohnSG

+0

刪除! 我需要將查詢從MongoDB轉換到R後,我忘了在編輯問題時將其刪除! –

回答

0

一種可能性是使用正則表達式;

> db.test.find({"statuses.text":{$regex: 'assicur'}}) 

這就是說,這將不可能在MongoDB中的索引,所以它可能是最好與切證件到一小部分做字符串匹配之前其它過濾器一起進行。

+0

我是新來的蒙戈,我明白你說什麼,但我不知道從哪裏開始。任何幫助將非常有用! –

+0

@ tia_0如果要在大量文檔上進行匹配,則不能將子字符串匹配用作_only_過濾方式。正則表達式可以很好地處理一些文檔,但不是以百萬計。如果你需要文本搜索,例如 - 自由文本支持,但是因爲你想要一個子串,而不是一個真正的選項。 –

+0

好的!感謝預感! 現在我只需要將其轉換爲R,它將是完美的。 –