搜索字符串并返回匹配的子字符串MongoDB

时间:2020-08-13 13:06:59

标签: mongodb-query

我正在使用数据库MongoDB进行golang项目。我有一个具有以下记录的收藏集:

[
    {
        "_id": 1,
        "vals": [
            "110",
            "2211"
        ]
    },
    {
        "_id": 1,
        "vals": [
            "Abcd",
            "102"
        ]
    }
]

我想执行搜索,就像我通过“ 11001”一样,那么将返回第一条记录。但是我还没有找到任何解决办法来做到这一点。我已经尝试过以下查询:

db.getCollection('ColName').find({"vals":{"$regex": "^11001", "$options": "i"}})

保存在db中的字符少于我在搜索中传递的字符。如果我输入“ 110”或“ 11”,它将给出结果,但是我的要求不同,我有完整的字符串,需要与2、3或4个字符匹配。

1 个答案:

答案 0 :(得分:0)

关于正则表达式。

db.getCollection('ColName').find({"vals":{"$regex": "^110(01)?", "$options": "i"}})

将为您服务。 “?”在正则表达式中表示匹配0或1。