【问题标题】:Not insert in update a value if undefined如果未定义,则不插入更新值
【发布时间】:2018-10-20 21:10:15
【问题描述】:

我有一个可以包含一个或多个元素的请求正文。在我的数据库模型中,我想在 body 对象中插入所有元素,但如果在运行时不存在,我会遇到错误,因为特定键的值未定义。

在我的模型中,我有属性 a、b、c、d。

在我的请求正文中,我有: {a: 1, b:1}.

我的插入是 Models.findModel(req.params.id, {a: req.body.a, b:req.body.b, c: req.body.c, d: req.body.d} 如果我这样做,我有一个运行时错误导致 d 在一个数字中并且不能未定义。

我正在使用 Typescript 和猫鼬。我可以做类似 req.body.a 的事情吗?并且仅在存在时才插入?

【问题讨论】:

    标签: node.js typescript mongoose


    【解决方案1】:

    是的,你可以。

    const _ = require('lodash');
    Models.findModel(req.params.id, _.pick(req.body, ['a', 'b', 'c', 'd']))
    

    顺便说一句:Typescript 不会在运行时进行任何检查,仅在编译时进行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-16
      • 2023-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-16
      相关资源
      最近更新 更多