我是mongoDB的新手,正在用汽车构建预订系统。我想做的是得到不保留的汽车。用户给出他要租车的日期,我必须向他显示可用的日期。
我可以一次查询吗?我已经用MySql做到了,但是我对猫鼬感到困惑。
我有这个车模
const mongoose = require('mongoose');
const carSchema = mongoose.Schema({
brand: String,
model: String,
power: String,
seats: Number,
imgUrl: String,
});
module.exports = mongoose.model('Car', carSchema);
这个预订模式
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const reservationSchema = Schema({
car_id: { type: Schema.Types.ObjectId, ref: 'Car' },
from: Date,
until: Date,
});
module.exports = mongoose.model('Reservation', reservationSchema);
答案 0 :(得分:0)
预订将有很多车,所以您的reservationSchema
应该是:
const reservationSchema = Schema({
car:[ { type: Schema.Types.ObjectId, ref: 'cars' }],
from: Date,
until: Date,
});
考虑其他模型:availableCarSchema
。所有的车都在这里。重新预订汽车后,会将其从此文档中删除,当预订结束时,会将汽车添加回此文档中。
因此,要查找可用的汽车,您可以像这样查询availableCars
:
AvailableCars.find({brand:'preferred brand',model:'preferred model',other propertis})