Non so se Mongoose 5.0.0 dovrebbe supportare Arrayfilters fuori dagli schemi, ma puoi ottenerlo usando il metodo di comando di Mongoose che viene eseguito direttamente su MongoDB, quindi puoi utilizzare tutte le funzionalità disponibili che includono ArrayFilters su MongoDB 3.6.1
Esempio:
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>) },
],
},
],
})