2017-04-25 42 views
1

我有这有一堆文件看起来像这个集合的部分字符串的文件:搜索通过一个集合,它有一个字符串数组

{ 
    "_id" : ObjectId("58d1d3e2b31da89828d0b194"), 
    "ihash" : "15e1e4b84492fe6f", 
    "firstseen" : ISODate("2017-03-22T01:31:14.405Z"), 
    "lastseen" : ISODate("2017-03-22T14:01:25.792Z"), 
    "names" : [ 
     "carrot", 
     "apple", 
     "banana" 
    ] 
} 

,我想通过搜索我集合来查找名称列表中包含“rr”的所有文档。

任何帮助,这将是巨大的:)

回答

1

您可以使用正则表达式蒙哥(见https://docs.mongodb.com/manual/reference/operator/query/regex/)。
从蒙戈控制台:

db.collection.find({ "names" : /rr/ }) 

或可替代

db.collection.find({ "names" : {"$regex": /rr/ }}) 

您可能要检查出了支持,如不区分大小写的其他选项,匹配锚的文档(^为启动,字符串末尾的$)以及其他如果您的需要需要它。