【问题标题】:Car reservation with mongoose and references带猫鼬和参考的汽车预订
【发布时间】:2019-05-20 04:01:48
【问题描述】:

我是 mongoDB 的新手,我正在构建一个带有汽车的预订系统。我想要做的是得到没有保留的汽车。用户给出他想租车的日期,我必须向他展示可用的日期。

我可以用一个查询来做到这一点吗?我已经用 MySql 完成了这个,但我对 mongoose 感到困惑..

我有这个汽车模型

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

【问题讨论】:

    标签: node.js mongodb mongoose mongoose-schema


    【解决方案1】:

    预订会有很多车,所以你的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})

    【讨论】:

      猜你喜欢
      • 2013-01-25
      • 2015-08-08
      • 2017-09-13
      • 2023-03-10
      • 1970-01-01
      • 2015-03-16
      • 1970-01-01
      • 2016-07-02
      • 1970-01-01
      相关资源
      最近更新 更多