gpt4 book ai didi

javascript - 如何修复 "trim"在 Mongoose 模式中不起作用

转载 作者:行者123 更新时间:2023-12-01 00:53:37 25 4
gpt4 key购买 nike

我正在学习 Mongoose ,并尝试在 Mongoose 模式中将“trim”设置为 true。但是它没有按预期工作。

我尝试将“lowercase”等其他内容设置为 true 并且它确实有效,所以我不知道为什么“trim”不起作用。

var userSchema = {
name: {type: String, required: true, trim: true, lowercase: true},
email: {
type: String,
required: true,
validate: function(value){
if(!(validator.isEmail(value))){
throw new Error("Not a valid email address");
}
},
trim: true,
},
age: {
type: Number,
validate: function(value){
if(value < 0){
throw new Error("Age must be a positive number");
}
},
default: 0
},
password: {
type: String,
required: true,
minlength: 7,
validate: function(value){
if(value.toLowerCase().includes("password")){
throw new Error(" Passwords should not contain the word
'password ' ");
}
},
trim: true
}
}

var User = mongoose.model('User', userSchema);

var someuser = new User({
name: "some user",
age: 25,
email: "user@something.com",
password: "verysecurepassword"
})

我原以为新用户的名称是“someuser”,但结果却是“some user”。

最佳答案

名称“some user”在字符串中间有空格。

您尝试执行的操作将不起作用,因为 trim 只会删除字符串开头和结尾的空格。

关于javascript - 如何修复 "trim"在 Mongoose 模式中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56765472/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com