2016-04-14 105 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,它将是完美的。 –