mongoose模糊查询
时间: 2024-06-13 14:05:46 浏览: 9
以下是使用mongoose-fuzzy-searching插件进行模糊查询的示例代码:
```javascript
const mongoose = require('mongoose');
const fuzzySearching = require('mongoose-fuzzy-searching');
// 创建模式
const jobSchema = new mongoose.Schema({
name: String,
description: String,
city: String,
jobType: {
type: mongoose.Schema.Types.ObjectId,
ref: 'JobType'
}
});
// 添加模糊搜索插件
jobSchema.plugin(fuzzySearching, { fields: ['name', 'description', 'city'] });
// 创建模型
const Job = mongoose.model('Job', jobSchema);
// 执行模糊搜索
const key = 'keyword';
Job.fuzzySearch(key, function(err, jobs) {
if (err) {
console.log(err);
} else {
console.log(jobs);
}
});
```
上述代码中,我们首先创建了一个名为`jobSchema`的模式,其中包含了`name`、`description`和`city`三个字段。然后,我们使用`mongoose-fuzzy-searching`插件为该模式添加了模糊搜索功能,并指定了需要进行搜索的字段。接着,我们创建了一个名为`Job`的模型,并使用`fuzzySearch`方法执行了模糊搜索操作,将搜索关键字`keyword`作为参数传入。