0
使用正则表达式对象的数组搜索我有我的架构如下图所示:查询到在猫鼬
var QuestionListSchema = newSchema({
topics: [{
_id: false,
topicID: Number,
topicName: String,
quesList: [{
quesListID: Number,
quesListName: String,
_id: false,
by: String,
questions: [{
questionId: Number,
_id: false,
question: String
}]
}]
}]
});
现在我有一个搜索框,在每次输入我通过发送输入到做一个ajax
通话服务器(node.js
)。
因此,这里是我的查询,我写了这个操作:
exports.search = function(req, res) {
console.log(req.query.quesListName);
QuestionList.find({
"topics.quesList.quesListName": new RegExp(req.query.quesListName, 'i')
},
function(err, questionList) {
if (err) {
return handleError(res, err);
}
return res.status(200).json(fnData(questionList));
});
};
在这里,在响应我得到整个文档,而不是搜索到的数据。
谢谢你的建议。我也尝试过投影对象,但我无法得到唯一的搜索问题列表作为回应,而不是我得到整个文件 –
@Shikhathakur你能提供一个例子,输出应该是什么样子? –
假设我有quesList数组quesListName中的两个对象作为“指令问题列表”,并在第二个对象quesListName作为“控制器问题列表”,所以如果我搜索指令问题列表我只需要获取具有quesListName作为“指令问题列表“ –