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
-
@sevengong 说:
用TMS来带代替Traffic Management Supervisor
聽起來像是全文檢索.. 不過 mongodb 應該不認得 TMS ==Traffic Management Supervisor
-
db.employee.aggregate([{
$match: {
"Skills.Category": {
$regex: /^T.*M.*S.*$/
}
}
}])
-
如考慮空格:
$regex: /^T.* M.* S.*$/