在集合中搜索在字符串数组中包含部分字符串的文档

时间:2017-04-25 16:05:46

标签: mongodb mongodb-query

我有一个包含大量文档的集合:

{
    "_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 个答案:

答案 0 :(得分:1)

您可以使用mongo正则表达式(请参阅first) 从mongo控制台:

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

或者

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

您可能需要查看文档以了解支持的其他选项,例如不区分大小写,匹配的锚点(开始时为^,字符串末尾为$),以及其他如果您的需要需要它。