2017-04-17 4 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

これにはさまざまな方法があります。それらの1つは、あなたの教授を時間の範囲で取得しようとすることです。結果が空でない場合は、あなたのことを行います(別のコレクションに挿入する)。

はあなたが午前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" 
     } 
    }] 
    }] 
}); 

に8時35分の間で利用可能な、あなたの教授は上記のいずれかが完璧な答えではないかどうかを調べたいとしましょう。ここには多くの問題があります。分と時間を別々に保管しないでください。特に文字列としてではありません。それらがタイムスタンプであれば、それはずっと簡単です。

関連する問題