Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript mongoose中的最大数验证_Javascript_Node.js_Mongoose_Max_Increment - Fatal编程技术网

Javascript mongoose中的最大数验证

Javascript mongoose中的最大数验证,javascript,node.js,mongoose,max,increment,Javascript,Node.js,Mongoose,Max,Increment,我会尽力描述我的问题 我创建了一个模式,Mongoose试图设置如下最大值: const mongoose=require(“mongoose”); const inventorySchema=new mongoose.Schema({ userID:{type:String,require:true,unique:true}, 法力:{类型:数字,默认值:0,最大值:100,最小值:0}, 鹤嘴锄:{类型:编号,默认值:0}, 剑:{type:Number,默认值:0}, stone:{typ

我会尽力描述我的问题

我创建了一个模式,Mongoose试图设置如下最大值:

const mongoose=require(“mongoose”);
const inventorySchema=new mongoose.Schema({
userID:{type:String,require:true,unique:true},
法力:{类型:数字,默认值:0,最大值:100,最小值:0},
鹤嘴锄:{类型:编号,默认值:0},
剑:{type:Number,默认值:0},
stone:{type:Number,默认值:0},
熨斗:{type:Number,默认值:0},
金色:{type:Number,默认值:0},
});
const model=mongoose.model(“InventoryModels”,inventorySchema);
module.exports=模型;
我想做的第二件事是用以下代码每60秒增加1到我的“法力”变量:

const manadd=async()=>wait inventoryModel.updateName({},
{
$inc:{
法力:1
}
}
);
设置间隔(manaAdd,30000);
但在任何情况下,我的法力变量都会超过100。。。 如果你能帮忙,我将非常感激你

来自Mongoose文件的ZartaX0O3

在上面的示例中,您了解了文档验证。Mongoose还支持update()、updateOne()、updateMany()和findOneAndUpdate()操作的验证。默认情况下,更新验证器处于关闭状态-您需要指定runValidators选项

因此,您必须像下面的代码一样将runValidater设置为true

const opts = { runValidators: true };
Toy.updateOne({}, { color: 'not a color' }, opts, function(err) {
  assert.equal(err.errors.color.message,
    'Invalid color');
});

代码没有任何变化

const opts={runValidators:true};
const manaAdd=async()=>wait inventoryModel.updateMany({},{$inc:{mana:1},opts);
设置间隔(manaAdd,30000);

Hi尝试这样做,但没有任何变化“法力”超过100。。。