【问题标题】:Store an array of 2 values on an array nodejs mongoose JOI在数组nodejs mongoose JOI上存储一个包含2个值的数组
【发布时间】:2020-01-05 11:57:45
【问题描述】:

我尝试在一个数组上存储一个包含 2 个值的数组。我使用猫鼬作为模型,使用 JOI 进行验证。

这是我的代码:

在我的模型上:

const ArticleSchema = new mongoose.Schema({
    detailsSheet: {
        type: [String]
    }
});

const Article = mongoose.model('Article', ArticleSchema);

const validateArticle = (article) => {
    const schema = {
        detailsSheet: Joi.array(),
    };
    return Joi.validate(article, schema);
};

在我的路上

routerArticles.post('/', async (req, res) => {
    console.log(req.body);
    const {error} = validateArticle(req.body);
    if (error) return res.status(400).send(error.details[0].message);

    const {detailsSheet} = req.body;
    let article = new Article({detailsSheet});
    article = await article.save();

    res.send(article);
});

【问题讨论】:

    标签: node.js mongodb mongoose joi


    【解决方案1】:

    没关系,我找到了解决方案。很简单:

    const Article = mongoose.model('Article', ArticleSchema);
    
    const validateArticle = (article) => {
        const schema = {
            detailsSheet: Joi.array().items(Joi.array())
        };
        return Joi.validate(article, schema);
    };
    

    【讨论】:

      猜你喜欢
      • 2020-08-23
      • 1970-01-01
      • 2017-01-25
      • 2014-04-16
      • 2021-12-10
      • 2021-02-13
      • 1970-01-01
      • 2016-02-06
      • 1970-01-01
      相关资源
      最近更新 更多