我想用函数在猫鼬中生成字段。 因为有很多字段,但是它们几乎相同,所以我想使用函数来创建它们以使代码简短。
我写了一个函数,但是有毛发。
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”与函数中的名称匹配,并返回对象。
答案 0 :(得分:0)
您要在testSchema
对象中添加值,而无需为其指定名称。
此外,您正在将field
对象的属性传播到新的对象文字中。那什么都做不了。只是返回field
对象会产生相同的结果。
我知道您正在尝试做什么。如果您以较小的步骤进行调试,并仔细查看正在处理的数据,我想您会自己解决的。