Node.js 保存Mongoose模式时如何检测字段名键入错误?
我在Mongoose模式中输入了一个错误,POST请求中的字段与数据库中的字段不匹配。所以Mongoose没有在文档中保存该字段 表单包含此字段(以帕格表示): 猫鼬模式在该字段中缺少Node.js 保存Mongoose模式时如何检测字段名键入错误?,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我在Mongoose模式中输入了一个错误,POST请求中的字段与数据库中的字段不匹配。所以Mongoose没有在文档中保存该字段 表单包含此字段(以帕格表示): 猫鼬模式在该字段中缺少s: 'use strict'; const mongoose = require('mongoose'); const Schema = mongoose.Schema; // Use native promises. mongoose.Promise = global.Promise; // Define
s
:
'use strict';
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
// Use native promises.
mongoose.Promise = global.Promise;
// Define the schema.
const QuestionnaireSchema = new Schema({
happines: Boolean,
// ...
}
因此,req.body
中的happiness
字段在没有警告的情况下被丢弃
如何确保
req.body
对象中的每个字段都出现在Mongoose模式中?您可以使用strict
选项<代码>严格选项默认启用,这将删除架构中不存在的字段,但您可以将其值设置为抛出
,这将导致产生错误
const QuestionnaireSchema=新模式({},{strict:'throw'})
您可以使用strict
选项<代码>严格选项默认启用,这将删除架构中不存在的字段,但您可以将其值设置为抛出
,这将导致产生错误
const QuestionnaireSchema=新模式({},{strict:'throw'})
为mongoose模式中的所有字段设置required
为true
?为复选框输入设置required
将要求用户标记复选框,但这是一个可选字段。为mongoose架构中的所有字段设置required
为true
?为复选框输入设置required
将要求用户标记复选框,但这是一个可选字段。
'use strict';
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
// Use native promises.
mongoose.Promise = global.Promise;
// Define the schema.
const QuestionnaireSchema = new Schema({
happines: Boolean,
// ...
}