2017-04-17 85 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" 
     } 
    }] 
    }] 
}); 

上面一個是不是一個完美的答案。這裏有很多問題。不要分開存儲分鐘和小時。尤其不是絃樂。如果這些是時間戳,那將會容易得多。

相關問題