MongoDB如何使用单词的首字母来搜索字符串


  • 註冊用戶

    我的代码如下:

    var employeeSchema = new mongoose.Schema({
     id: { type: String,ref:'Users' },
     FirstName: { type: String },
     LastName: { type: String },
     Skills: [
        {
            Category: { type: String },
            Level: { type: String }
        }
     ]}, { strict: true });

    插入数据后是这样:

    {
    id: '123456',
    FirstName: "Name",
    LastName: "Last Name",
    Skills: [
        {
            Category: "Traffic Management Supervisor ",
            Level: "Intermediate"
        }
    ]
    }

    我的问题是,如果我想要用员工的skill来进行筛选,而且只通过员工的第一个字母来进行搜索,而不是输入整个名字.

    例如我要用TMS来带代替Traffic Management Supervisor


  • Lv 1

    @sevengong 说:

    用TMS来带代替Traffic Management Supervisor

     聽起來像是全文檢索.. 不過 mongodb 應該不認得 TMS ==Traffic Management Supervisor


  • 註冊用戶

    db.employee.aggregate([{
        $match: {
            "Skills.Category": {
                $regex: /^T.*M.*S.*$/
            }
        }
    }])


  • Lv 1

    如考慮空格:

    $regex: /^T.* M.* S.*$/


登录后回复
 

与 萌阔论坛 的连接断开,我们正在尝试重连,请耐心等待