Je ne sais pas si Mongoose 5.0.0 est censé prendre en charge les Arrayfilters prêts à l'emploi, mais vous pouvez y parvenir en utilisant la méthode de commande de Mongoose qui s'exécute directement sur MongoDB. Vous pouvez donc utiliser toutes les fonctionnalités disponibles, notamment ArrayFilters sur MongoDB 3.6.1.
Exemple :
mongoose.connection.db.command({
update: <YourModel>.collection.name,
updates: [
{
q: { 'field1.field2._id': mongoose.Types.ObjectId(<someObjectid>) },
u: {
$set: { 'field1.$.field2.$[field].fieldToUpdate': "updated!" },
},
arrayFilters: [
{ 'field._id': mongoose.Types.ObjectId(<someObjectid>) },
],
},
],
})