首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在节点js中使用joigoose和mongoose进行验证的模式

在节点js中使用joigoose和mongoose进行验证的模式
EN

Stack Overflow用户
提问于 2020-02-13 07:18:24
回答 1查看 678关注 0票数 0

我在猫鼬模式中使用@hapi/joi进行验证。我使用joigoose在猫鼬模式中转换joi对象,如下所示:

代码语言:javascript
复制
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');

这是抛出错误如下所示:

我不知道问题出在哪里。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-17 18:53:07

更新:Joigoose修复了7.0.0版本的错误:https://github.com/yoitsro/joigoose/issues/36

运行下面的命令,列出项目文件夹中包的所有依赖项

代码语言:javascript
复制
npm list

在树中找到快乐鹅及其依赖关系:

代码语言:javascript
复制
+-- joigoose@6.2.0
| +-- @hapi/hoek@8.5.1 deduped
| `-- @hapi/joi@16.1.8 deduped

通过以下操作安装@hapi/joi的相同版本:

代码语言:javascript
复制
npm install @hapi/joi@16.1.8

不幸的是,到目前为止,最新版本的joigoose与@hapi/joi17.x版本并不兼容。

链接:https://github.com/yoitsro/joigoose/issues

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60202382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档