我正在遵循书中的 Mongoose 文档,但我什至无法让最简单的验证器工作。我缺少什么?我假设这个验证器会 100% 失败,但它会 100% 成功,我可以插入任何我想要的用户 ID。在这里,我只是想看看它是否被调用,并且当我期望它失败时插入总是通过。我尝试了在网上看到的许多变体和示例,并且在所有情况下验证器似乎都没有被调用。
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const profileSchema = new Schema({
created: {
type: Date,
default: Date.now
},
userid: {
type: Schema.Types.ObjectId,
ref: 'user',
validate: {
validator: val => { return false; },
message: 'something'
}
});
const Profile = mongoose.model('profile',profileSchema);
最佳答案
这是更新期间的已知问题。我没有意识到我正在执行更新的代码结构方式。我有一个名为 findOneAndUpdate() 的“添加”函数。感谢您提出的好问题帮助我找到了问题。
查看答案: Mongoose .update() does not trigger validation checking
关于node.js - Mongoose 验证未调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53692758/