创建 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`

node 通过mongoose实现 mongodb的增删改

在 Node JS 中填充 Mongoose

Node操作MongoDb

node.js,mongodb,mongoose,html 我如何插入数据(在 index.html 中)?

考虑到 Mongoose Node.js 中的引用,如何删除对象?