猫鼬和参考文献的汽车预订

时间:2018-12-19 16:04:47

标签: node.js mongodb mongoose mongoose-schema

我是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);

1 个答案:

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