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)estoy usando el operador de conjunto de mangosta y el operador de incremento juntos
mongoose 'updateMany' no funciona con este campo de equipo de operadores que contiene una matriz de ID de objeto
https://mongoosejs.com/docs/api.html#model_Model.updateMany
El problema es que está pasando $inc en el tercer parámetro en lugar de unirlo con el mismo objeto dentro del segundo parámetro.
Cambio
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 );Para
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} } );Demostración: https://mongoplayground.net/p/7zHcJy_sh-H
$inc debe estar en el segundo parámetro de la función update() , pero fuera del $set :
User.updateMany({ _id: { $in: team } }, { $set: { current_level_status: 'incomplete', user_helper_status: false, user_admin_status : false }, $inc: { level_number: 1 } });