محمد
5 سال پیش توسط محمد مطرح شد
0 پاسخ

مفهوم رابطه ها با mongo db در سامانه تیکتینگ

سلام دوستان
من یک سیستم فروش بلیط آنلاین دارم می نویسم که پروژه دانشگاه هست.
در روابط بین جداول مشکل دارم
ممنون میشم کدی که میفرستم را ایراداتش را بهم بگید
سناریو:
۱. یک سری دسته بندی داریم که در هر کدام برنامه هایی تعریف میشه (مثل دسته فیلم: برنامه فیلم x ایجاد میشه). دسته ها مثل فیلم ،کنسرت،تاتر و غیره هستند.
۲. در هر برنامه مشخصات مثل تصویر ،اسم و .. تعریف میشه.
۳. هر برنامه دارای سالن و هر سالن دارای تعداد صندلی هایی هست که به دو قسمت vip و معمولی تفکیک میشه
۴. یک جدول خرید که متوجه بشیم کدام کاربر که چه صندلی هایی و چه برنامه ای را بلیط خریده.

این schema های من هست.

const mongoose = require("mongoose");
const Schema = mongoose.Schema;
const timestamps = require("mongoose-timestamp");
// Create Schema
const CategorySchema = new Schema({
  name: {
    type: String,
    required: true
  },
  programs : [{ type : Schema.Types.ObjectId , ref : 'Program'}]
});
CategorySchema.plugin(timestamps);
module.exports = Category = mongoose.model("categories", CategorySchema);
‍‍‍‍‍```
const mongoose = require("mongoose");
const Schema = mongoose.Schema;
const timestamps = require("mongoose-timestamp");

// Create Schema
const ProgramSchema = new Schema({
user: {
type: Schema.Types.ObjectId,
ref: "users"
},
category: { type: Schema.Types.ObjectId, ref: "Category" },
title: {
type: String
},
description: {
type: String
},
image: {
type: String
},
time: {
type: String,
default: "۰۰:۰۰:۰۰"
},
price: {
type: String
},
hall_name: {
type: String
},
hall_address: {
type: String
},
hall_phone: {
type: String
},
sans_date: {
type: String
},
sans_day: {
type: String
},
sans_time: {
type: String,
default: "۰۰:۰۰:۰۰"
},
chairs : [{ type : Schema.Types.ObjectId , ref : 'Chair'}]
});
ProgramSchema.plugin(timestamps);
module.exports = Program = mongoose.model("program", ProgramSchema);

const mongoose = require("mongoose");
const Schema = mongoose.Schema;
const timestamps = require("mongoose-timestamp");

// Create Schema
const ChairSchema = new Schema({
number: {
type: Number,
required: true
},
vip: {
type: Boolean
}
});
ChairSchema.plugin(timestamps);
module.exports = Chair = mongoose.model("chairs", ChairSchema);

@viva.mohammadi
@meyghania
@ali.bayat
@SeyedMH.Mosavi


ثبت پرسش جدید

به همدیگه کمک کنیم

به محمد کمک کنید تا مشکل خودش را حل کند؛ این‌طور می‌توانیم با هم پیشرفت کنیم.

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام