2017-04-17 177 views
0

对不起,我是一个mongodb初学者。与所有的工作日 `在mongo中插入其他集合之前,如何检查一个集合中是否有可用的东西?

{ 
     "patron_id":"MR.P", 
     "day":"monday", 
     "start_hour":"8", 
     "start_minute":"30", 
     "end_hour": "10", 
     "end_minute":"0", 
     "type":"a" 
    },` 

...等等:

我做了一个名为集教授,看起来像这样。它描述了教授可用的小时数。

如何在插入另一个名为辅导的集合之前检查,如果学生想要插入辅导的小时数与特定教授的可用小时数匹配。

回答

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" 
     } 
    }] 
    }] 
}); 

上面一个是不是一个完美的答案。这里有很多问题。不要分开存储分钟和小时。尤其不是弦乐。如果这些是时间戳,那将会容易得多。

相关问题