这似乎是一个非常愚蠢的问题,但是是否可以传递js对象,而不必在Schema分配期间编写键值对?
所以,您能说的不是let schema = new mongoose.Schema({name: String})
const mongoose = require('mongoose')
let obj = {name: String}
let schema = new mongoose.Schema(obj)
谢谢!
答案 0 :(得分:0)
答案是:你不能。
因为那是猫鼬的工作方式。这个框架包含许多规则,我们必须遵守这些规则才能成功利用其功能。
答案 1 :(得分:0)
是的,您可以将key: type
对,验证等作为Schema
中的对象进行传递。基本上,它的作用是将对象中提供的定义传递给架构构造器。
constructor(definition?: SchemaDefinition, options?: SchemaOptions);
但是,每当您以object
的方式编写时,自动完成功能和其他类型将不可用(IDE智能感知),并且在编译时会导致更多容易出错的代码,并且对数据库没有任何影响。这样。