want mongo query to do string regex start && contains && end

不羁的心 提交于 2019-12-12 04:14:28

问题


I want to mongo query with regex which will return the document

name match start with 'abc' and

name match contains 'efg' and

name match end with 'ijk'

var start =  'abc[\\s\\S]*';
var cont =  '[\\s\\S]*efg[\\s\\S]*';
var end =  '[\\s\\S]*ijk';

db.getCollection().find({
 "$and":[
    {
        "name":{"$regex":new RegExp('^' + start + '$', 'i')}
    },
    {
        "name":{"$regex":new RegExp('^' + cont + '$', 'i')}
    },
    {
        "name":{"$regex":new RegExp('^' + end + '$', 'i')}
    }]
})

This runs very slow need some better query or suggestion...

来源:https://stackoverflow.com/questions/44738577/want-mongo-query-to-do-string-regex-start-contains-end

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!