node.js - 创建嵌套的月光模式
问题描述
所以,我只是从 Node/Moongose 和 Typescript 开始,我有点卡在为这个嵌套的 JSON 数据库创建一个模式。我已经开始了一些事情,我想知道我是否走在正确的轨道上,是构建嵌套模式的方式。所以,如果有人能帮助我,那就太好了。提前致谢。
数据
[{
"a_class":[
{
"brand":"A-class",
"id":"1",
"year":"2015"
"price":"12665"
...
"engine_spec":{
...
}
...
}]
}
]
界面
import { Document } from 'mongoose';
export default interface ICars extends Document {
a_class: BrandList[],
}
interface BrandList {
brand: string;
id:number;
year:number;
main_image: string;
price:number;
transmission:string;
fuel_type:string;
seating_capacity:number;
engine:number;
engine_specs:Specs;
volume_weights:Volume;
performance: Performance
images_interior: Interior
images_exterior: Exterior
}
interface Specs {
power:number;
power_per_litre:number;
torque:number;
fuel_system:number
}
interface Volume {
max_weights:number;
fuel_tank:number
}
interface Performance {
acceleration:number;
maximum_speed:number;
fuel_urban:number;
fuel_extra_urban:number
fuel_combined:number
}
interface Interior {
image_one:string;
image_two:string;
image_three:string;
image_four:string;
}
interface Exterior {
image_one:string;
image_two:string;
image_three:string;
image_four:string;
}
架构
import mongoose, { Schema } from 'mongoose';
import ICars from '../interfaces/cars'
const CarsSchema: Schema = new Schema({
a_class:[BrandSchema],
})
const BrandSchema: Schema = new Schema(
{
brand:{type:String},
...
engine_specs:[Specs],
volume_weights:[Volume],
performance: [Performance],
images_interior: [Interior],
images_exterior: [Exterior],
}
)
const Exterior:Schema = new Schema({
image_one:{type:Number},
image_two:{type:Number},
image_three:{type:Number},
image_four:{type:Number},
})
export default mongoose.model<ICars>('Cars', CarsSchema);
解决方案
推荐阅读
- php - 使用 PHP 将多个 JSON 文件解析为 HTML 表——行数过多
- email - 具有输入/输出监控和备份功能的电子邮件服务器?
- c# - 从 C# 在 FMOD 中创建事件
- ruby-on-rails - 我的类别的控制台数据显示在视图中
- rest - 保护 Spring Boot Rest api
- swift - 在 Realm 中存储字符串数组列表
- ansible - ansible寄存器问题:复制:和标准输出
- linq - Linq分组和最大值
- c# - Unity如何将文件目录加载到脚本中并将它们作为文本资产读取?
- python - 在 colvolutions 的响应函数中使用的正确点数是多少?