在猫鼬中通过函数处理多个字段的问题

时间:2019-08-14 00:30:56

标签: javascript mongoose

我想用函数在猫鼬中生成字段。 因为有很多字段,但是它们几乎相同,所以我想使用函数来创建它们以使代码简短。

我写了一个函数,但是有毛发。

import { Schema } from 'mongoose'

function fieldGen(name, type="string", isRequired=true) {
   var field = {}
   field[name] = {
      type: type,
      required: isRequired
   }
   return {...field}
}

const testSchema = new Schema({
   fieldGen("firstname")
   fieldGen("lastname")
   fieldGen("location")
})

在VS Code中,问题显示如下

Identifier expected. ts(1003) [20, 12]

我希望第一个参数“ firstname”与函数中的名称匹配,并返回对象。

1 个答案:

答案 0 :(得分:0)

您要在testSchema对象中添加值,而无需为其指定名称。

此外,您正在将field对象的属性传播到新的对象文字中。那什么都做不了。只是返回field对象会产生相同的结果。

我知道您正在尝试做什么。如果您以较小的步骤进行调试,并仔细查看正在处理的数据,我想您会自己解决的。