我将MongoDB与Mongoose和Nodejs一起使用。定义模式(参考-See)后,当我尝试从代码中输入内容时,它就可以工作。 喜欢-如果尝试遵循以下代码
timestamp null,
// User Model
User.create({name: 'rahu', status: 'randomStr'});
的类型实际上是枚举-status
它完美运行,['active', 'pending', 'deactivated', 'blocked']
。
但是,当我从Compass(或robomongo或未定义模式的任何其他代码)插入/更新值时,会保存错误的值。
所以我的问题是-有没有办法创建这些 像在PostgreSQL中那样在数据库级别进行约束/验证?
谢谢
答案 0 :(得分:0)
您是在mongoose
中定义方案还是直接在mongodb
中定义方案?不一样
如果直接在mongodb中定义方案,问题仍然存在? https://docs.mongodb.com/manual/core/schema-validation/
从版本3.6开始的JSON模式验证。