我在一个名为 Profiles 的集合中有配置文件。我正在根据用户提供的字段进行查询以搜索配置文件。搜索表单(UI 表单),用户有不同的选项来搜索“女性”或“男性”或“任何”等配置文件,然后单击“搜索”按钮。这样,用户可以通过提供以下字段的组合来搜索我的收藏配置文件。
- 性别
- 国家
- 城市
- 婚姻状况
- 教育
- 宗教
因此,例如,用户选择字段为:性别:'女性',国家:'巴基斯坦',城市:'伊斯兰堡',婚姻状况:'任何',教育:'任何',宗教:'伊斯兰教'然后将查询什么对于 MongoDB?
我需要对所有情况进行动态查询,拜托。
到目前为止我尝试过:
Profile.find(
{
gender: req.body.gender,
country: req.body.country,
city: req.body.city,
maritalStatus: req.body.maritalStatus,
education: req.body.education,
religion: req.body.religion
},
{},
function(err, profiles){
if(profiles!=null)
{ res.status(200).json({status: true, message:'Profile(s) found', profiles})}
else
{res.status(404).json({status: false, message:'No profile(s) found.'})}
}
);
但上述查询并非在所有情况下都是动态的。