0
所以我遇到了一个奇怪的问题,我一直没能弄明白。我在猫鼬的架构与约20个按键,我想使用$文本查询在他们5,它看起来像这样:
var mySchema = new mongoose.Schema({
firstkey:{type: String, index: true},
secondkey:{type:String,index: true},
thirdkey:{type:String,index: true},
fourthkey:{type:String,index: true},
fifthkey:{type:String,index: true},
sixth:String,
seventh:String,
.... });
mySchema.index=({'firstkey':'text','secondkey':'text','thirdkey':'text','fourthkey':'text','fifthkey':'text'})
module.exports = mongoose.model("Schema", mySchema);
然后在我的路由文件我执行以下查询:
if (req.query.search) {
Schema.find({ $text: { $search: req.query.search } }, function (err, allRecords) {
if (err) {
console.log(err);
} else {
res.render("records/index", { records: allRecords });
}
});
}
我从网页搜索表单得到req.query.search
的价值,无论如何,如果我进入形式的话,就是可以在firstkey我得到正确的结果没有问题找到一个值,但如果我进入我知道的一个值存在于其他一个键上,我的查询变成了空的。
任何想法为什么$文本没有看着其他键我试图索引?