因为我的项目遇到的需求是:搜索包含用户输入的关键字的课程,其中这些课程必须是审核过的:
var query= new RegExp(req.query.lName, 'i');//模糊查询参数
Lesson.find({"subTitle.filtered": true,
$or:[{"lessonName": query}]
} , function (err,data) { ...});...})
这里用到了$or, 它表示的是模糊搜索的条件,淡入,后面的[ ]可以不止一个条件,比如:
$or:[{"lessonName": query},{"x":"x"}]
其他博主的例子:
http://blog.csdn.net/salmonellavaccine/article/details/53838284
$in 则是另一个用法:
它表示搜索的结果中含有一个,或几个,或全部含有该数组里的:
$in:[{"lessonName": query}]