我正在尝试使用MongoDB查询来处理需要输入的变量。
这是我想要的查询示例。当它以这种方式创建时,它会返回正确的结果。
var type = 'Math';
var query = User.find({'serviceInterests': type,'availability.Friday.2a':'false'});
当我以这种方式创建它时,它不会产生任何结果:
var date = new Date();
var day = date.getDay();
var hour = date.getHours();
var min = date.getMinutes()/60;
if(min >= .5){
hour++;
}
if(hour > 12){
hour = `${hour - 12}p`
} else {
hour = `${hour}a`
}
var days = ['Sunday', 'Monday', 'Tuesday','Wednesday','Thursday','Friday','Saturday']
var type = 'Math';
var time = `${hour-12}-${hour -11}`;
var avail = `'availability.${days[5]}.${hour}'`
var connection = mongoose.connect(config.database);
var query = User.find({'serviceInterests': type, avail: 'false'});
答案 0 :(得分:0)
我感到愚蠢,使用ES6键语法解决了这个问题。
var query = User.find({'serviceInterests': type, [avail]: 'false' });
答案 1 :(得分:0)
你试过这个:
var params = {};
params[avail] = 'false';
params['serviceInterests'] = type;
var query = User.find(params);