如何在插入mongo中的另一个集合之前检查一个集合中是否有可用的东西?

时间:2017-04-17 02:53:35

标签: mongodb

对不起,我是mongodb的初学者。

我创建了一个名为教授的集合,如下所示:  `

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

......等所有工作日。它描述了教授的可用时间。

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

1 个答案:

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

以上不是一个完美的答案。这里有很多问题。不要分开存储分钟和小时。特别是不作为字符串。如果这些是时间戳,那将会更容易。