const User = require('./model.js)
const result = await User.updateMany({_id:{$in:team}},{ $set: { current_level_status : 'incomplete' , user_helper_status : false,user_admin_status : false }},{$inc:{level_number:1}});
console.log(result)
i am using mongoose set operator and increment operator together
mongoose 'updateMany' is not working with this operators team field contains array of object ids
https://mongoosejs.com/docs/api.html#model_Model.updateMany
The problem is you're passing $inc
in the 3rd parameter instead of joining it with same object inside 2nd parameter.
Change
const result = await User.updateMany(
{_id:{$in:team}}, // Parameter 1
{$set: { current_level_status : 'incomplete' , user_helper_status : false,user_admin_status : false }}, // Parameter 2
{$inc:{level_number:1}} // Parameter 3
);
To
const result = await User.updateMany(
{_id:{$in:team}}, // Parameter 1
{ // Parameter 2
$set: { current_level_status : 'incomplete' , user_helper_status : false,user_admin_status : false }
$inc: {level_number:1}
}
);
Demo - https://mongoplayground.net/p/7zHcJy_sh-H
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With