创建 Schema Mongoose (Node.js) 模型以简化代码
Posted
技术标签:
【中文标题】创建 Schema Mongoose (Node.js) 模型以简化代码【英文标题】:Create Model of Schema Mongoose (Node.js) for simplify the code 【发布时间】:2021-03-26 15:15:54 【问题描述】:我检查了前面的示例,但找不到任何想法。 编程意味着不要重复自己,我想创建一个模型,但我不明白怎么做,我想将它应用到下面的示例中。谢谢
const mongoose = require('mongoose');
const fasiSchema = mongoose.Schema(
controlloMateriale :
tempoaSchedaInOre: type: Date, required: false ,
tempoTotaleInOre: type: Date, required: false
,
equipaggiamento :
tempoaSchedaInOre: type: Date, required: false ,
tempoTotaleInOre: type: Date, required: false
,
);
mongoose.model('fasi',fasiSchema);
【问题讨论】:
【参考方案1】:这很简单。只需创建一个具有通用模式值的 const 并在重复值的地方使用它
const mongoose = require('mongoose');
const DateSchema = type: Date, required: false ;
const CustomSchema =
tempoaSchedaInOre: DateSchema,
tempoTotaleInOre: DateSchema ;
const fasiSchema = new mongoose.Schema(
controlloMateriale : CustomSchema,
equipaggiamento : CustomSchema,
);
mongoose.model('fasi',fasiSchema);
【讨论】:
非常感谢,我以为我使用的是特定型号,但实际上这是最好的解决方案。也感谢细节的细致 如果我想在数组中插入“fasiSchema”属性,如何解决空mongoose数组的问题?因为我已经做了几次这样的测试,但没有什么可做的: const fasiSchema = new mongoose.Schema( fase: type:[ controlloMaterialeSmd : CustomSchema,equiaggiamentoSerig : CustomSchema ] 【参考方案2】:在没有其他选择的情况下。你只需要重复你自己。您可以使用模板等创建一个系统,但它可能无济于事
【讨论】:
以上是关于创建 Schema Mongoose (Node.js) 模型以简化代码的主要内容,如果未能解决你的问题,请参考以下文章
MongoDb - 要创建一个新的ObjectId,请尝试`Mongoose.Types.ObjectId`而不是使用`Mongoose.Schema.ObjectId`