Node.js Joi.array().includes不是函数错误

Node.js Joi.array().includes不是函数错误,node.js,mongoose,joi,Node.js,Mongoose,Joi,我正在使用Joi验证验证API的有效负载数据。我制作了一个这样的模式: 'use strict'; let mongoose = require('mongoose'); let Schema = mongoose.Schema; let tokenSchema = new Schema({ level : {type : Number}, tokenValues : [{ level : {type : Number}, amount :

我正在使用Joi验证验证API的有效负载数据。我制作了一个这样的模式:

'use strict';

let mongoose = require('mongoose');

let Schema = mongoose.Schema;

let tokenSchema = new Schema({

    level : {type : Number},
    tokenValues : [{
        level : {type : Number},
        amount : {type : Number}
    }]
});

module.exports = mongoose.model('Tokens',tokenSchema,'tokens');
我已经编写了Joi验证:

validate: {
            payload: {
                level: Joi.number().required(),
                tokensValues: Joi.array().includes({
                    level : Joi.number().required(),
                    amount : Joi.number().required()
                })
            }
}
上述代码给出的错误如下:

TypeError: Joi.array(...).includes is not a function
如果这是错误的做法,请建议其他方法。

我得到了解决方案:

validate: {
            payload: {
                level: Joi.number().required(),
                tokensValues: Joi.array().items(Joi.object().keys({
                    level : Joi.number().required(),
                    amount : Joi.number().required()
                }))
            }
}
如果您正在使用

Joi.types.Array().includes(Joi.types.Array().valid(["pass array strings here"]))