mongooseとnodejsを使用してソートの予約システムを作成しています。フィールドとして利用可能な部屋の数を持っているホテルのリストがあります。顧客のために新しい予約を作成する際に、特定のホテルで利用可能な部屋の数が0より大きいかどうかを確認したい場合は、1を減らしてホテル内の利用可能な部屋の数を更新します。mongoose findOneAndUpdate関数が動作していないようです
ここに私のコードは
-Hotelモデルファイルである
var hotel: new mongoose.Schema{
name: String,
availableRooms: {type: Number, default: 1}}
var booking: new mongoose.Schema{
userName: String,
hotelId: {type: Schema.Types.ObjectId, ref: 'hotel'}
}
モデルファイルを-Bookingここで私はとのトラブルを抱えているコードです。
郵便番号を使用して新しい予約を作成しようとすると、新しい予約が作成されますが、利用可能な部屋のオプションはチェックされません。ホテルに空き部屋がない場合は、引き続き予約を作成します。また、利用可能な部屋の数は0以下にはなりません。更新クエリから一致する文書がある場合、あなたのコードを通って行く
更新が行われる場合にのみ実行されます。私は更新がない場合でも、コールバックが呼び出されているとあなたの予約オブジェクトが作成されていると思います。そのwriteresultが実際にドキュメントを変更した場合は、errを使用してwriteresultオブジェクトを返して予約を作成することができます。あなたのホテルのドキュメントが更新されない理由については、findOneを呼び出して、実際に一致するドキュメントがあるかどうかを確認することをお勧めします。 –