对不起,我是mongodb的初学者。
我创建了一个名为教授的集合,如下所示: `
{
"patron_id":"MR.P",
"day":"monday",
"start_hour":"8",
"start_minute":"30",
"end_hour": "10",
"end_minute":"0",
"type":"a"
},`
......等所有工作日。它描述了教授的可用时间。
如果学生想要将课外辅导与特定教授的可用时间相匹配,则如何在插入另一个名为辅导的集合之前检查。
答案 0 :(得分:0)
有很多方法可以做到这一点。其中之一是,尝试按时间范围让你的教授。如果结果不为空,请做你的事(插入另一个集合)。
让我们说你想在8:35到9:35之间找到你的教授
db.getCollection('professor').find({
patron_id: "MR.P", //Your professor
$and: [{
$or: [{
start_hour: {
$lt: "8"
}
}, {
start_hour: "8",
start_minute: {
$lte: "35"
}
}]
}, {
$or: [{
end_hour: {
$gt: "9"
}
}, {
end_hour: "9",
end_minute: {
$gte: "35"
}
}]
}]
});
以上不是一个完美的答案。这里有很多问题。不要分开存储分钟和小时。特别是不作为字符串。如果这些是时间戳,那将会更容易。