Current Intersection database schema structure - Andrewyg/unmanned-car GitHub Wiki

{
    refIns: {
        type: String,
        required: true
    },
    bottom: {
        left: {
            amount: {
                type: Number,
                default: 0,
                required: true,
                minimum: 0
            },
            queue: [{
                refCar: String,
                arriveTime: {
                    type: Date
                }
            }]
        },
        straight: {
            amount: {
                type: Number,
                default: 0,
                required: true,
                minimum: 0
            },
            queue: [{
                refCar: String,
                arriveTime: {
                    type: Date
                }
            }]
        },
        right: {
            amount: {
                type: Number,
                default: 0,
                required: true,
                minimum: 0
            },
            queue: [{
                refCar: String,
                arriveTime: {
                    type: Date
                }
            }]
        }
    },
    right: {
        left: {
            amount: {
                type: Number,
                default: 0,
                required: true,
                minimum: 0
            },
            queue: [{
                refCar: String,
                arriveTime: {
                    type: Date
                }
            }]
        },
        straight: {
            amount: {
                type: Number,
                default: 0,
                required: true,
                minimum: 0
            },
            queue: [{
                refCar: String,
                arriveTime: {
                    type: Date
                }
            }]
        },
        right: {
            amount: {
                type: Number,
                default: 0,
                required: true,
                minimum: 0
            },
            queue: [{
                refCar: String,
                arriveTime: {
                    type: Date
                }
            }]
        }
    },
    top: {
        left: {
            amount: {
                type: Number,
                default: 0,
                required: true,
                minimum: 0
            },
            queue: [{
                refCar: String,
                arriveTime: {
                    type: Date
                }
            }]
        },
        straight: {
            amount: {
                type: Number,
                default: 0,
                required: true,
                minimum: 0
            },
            queue: [{
                refCar: String,
                arriveTime: {
                    type: Date
                }
            }]
        },
        right: {
            amount: {
                type: Number,
                default: 0,
                required: true,
                minimum: 0
            },
            queue: [{
                refCar: String,
                arriveTime: {
                    type: Date
                }
            }]
        }
    },
    left: {
        left: {
            amount: {
                type: Number,
                default: 0,
                required: true,
                minimum: 0
            },
            queue: [{
                refCar: String,
                arriveTime: {
                    type: Date
                }
            }]
        },
        straight: {
            amount: {
                type: Number,
                default: 0,
                required: true,
                minimum: 0
            },
            queue: [{
                refCar: String,
                arriveTime: {
                    type: Date
                }
            }]
        },
        right: {
            amount: {
                type: Number,
                default: 0,
                required: true,
                minimum: 0
            },
            queue: [{
                refCar: String,
                arriveTime: {
                    type: Date
                }
            }]
        }
    }
}