我有一个错误“$text查询需要文本索引”。但在我看来,我做的一切都是正确的。
const JobSchema = mongoose.Schema({
jobTitle: {
type: String,
required: true,
text: true,
index: true
}
});
JobSchema.index({ jobTitle: 'text'});
router.get('/search', async (req, res) => {
try {
const searchResults = await Job.find({$text: {$search: req.query.q }})
console.log(searchResults);
res.json({
searchResults: searchResults
});
} catch (err) {
res.json({message: err});
}
});如有任何帮助,我们将不胜感激:)
发布于 2019-10-12 01:03:59
在您需要mongoose之后,在您的入口点文件(例如app.js)上添加mongoose.set('useCreateIndex', true);。例如:
var express = require('express');
var router = express.Router();
const mongoose = require('mongoose');
mongoose.set('useCreateIndex', true);https://stackoverflow.com/questions/58282661
复制相似问题