node.js – Atualizar array posições especificas usando mongodb com ou sem Mongoose!

Tenho a seguinte situação!

const meuModel = new mongoose.Schema({

  nome: { type: String, required: (true, 'Nome') },
  
  links:{type : Array,},
}) 

Links é um array de objetos!

links ({url:link, clicks:0},{url:link1, clicks:0},{url:link2, clicks:0})

Eu preciso fazer update especifico. Sem nunca mudar os clicks, nem mexer neles!

links ({url:link, clicks:4},{url:novoLink, clicks:0},{url:link2, clicks:5},{url:novoLink2, clicks:0})

eu quero permitir o usuário modificar os Links como quiser. Mas os clicks sempre serão via sistema.

Meu problema esta me salvar isso no mongo!

teste = await MeuModel.findOneAndUpdate({
          _id
        },{$inc: {
          "links.0.url":'novolink', 
          "links.1.url": 'linkantigo', 
          "links.2.url": 'novo link se for novo',   
      }}

Isso não funciona!
Pois quer mudar uma posição, só quando viver do front algo novo!
Se o usuário mudou 3 links, eles devem ser salvos!

“$set” não aceita que eu percorra o array para modificar somente onde for preciso!
“$set” só permite mudança de 1 posição especifica

await meuModel.findOneAndUpdate({
          _id
        },{ 
          "$set": {(`links.$(outer).url`): 'novoLink'} 
        },
        { 
          "arrayFilters": ({ "outer.url":'antigoLink'})
        })

$set com arrayFilters só aceita uma condição para muitos ou apenas 1.

Quero poder mandar salvar o array todo de uma vez, com as modificações apenas dos links, se ela existirem!