我在猫鼬模式中使用@hapi/joi进行验证。我使用joigoose在猫鼬模式中转换joi对象,如下所示:
import mongoose from 'mongoose';
import joi from '@hapi/joi';
const joigoose = require('joigoose')(mongoose);
let objectId = mongoose.Schema.Types.ObjectId;
let userInfo = joi.object().keys({
userId: joi.string().required().alphanum().meta({ type: 'objectId' }),
firstName: joi.string().required().min(4).max(20),
lastName: joi.string(),
birthDate: joi.date(),
email: joi.string().email(),
mobile: joi.number().max(10),
isActive: joi.boolean()
})
let userInfoSchema = new mongoose.Schema(joigoose.convert(userInfo));
module.exports = mongoose.model('userInfoModel', userInfoSchema, 'userInfo');这是抛出错误如下所示:

我不知道问题出在哪里。
发布于 2020-02-17 18:53:07
更新:Joigoose修复了7.0.0版本的错误:https://github.com/yoitsro/joigoose/issues/36
运行下面的命令,列出项目文件夹中包的所有依赖项
npm list在树中找到快乐鹅及其依赖关系:
+-- joigoose@6.2.0
| +-- @hapi/hoek@8.5.1 deduped
| `-- @hapi/joi@16.1.8 deduped通过以下操作安装@hapi/joi的相同版本:
npm install @hapi/joi@16.1.8不幸的是,到目前为止,最新版本的joigoose与@hapi/joi17.x版本并不兼容。
https://stackoverflow.com/questions/60202382
复制相似问题