Estou com o seguinte problema:
Tenho uma aplicação com alguns items ordenados no front-end, no caso é uma página de links, esses links devem ser manipulados dentro do array que os contém. O array está armazenado no mongoDB, e estou usando o mongoose no NodeJs.
`links = [
'<a>Primeiro link</a>',
'<a>Segundo link</a>',
'<a>Terceiro link</a>'
]`
O primeiro passo é ter a possibilidade de excluí-los quando convém. Inicialmente eu queria excluí-los pela sua posição no array, mas não obtive sucesso. Agora, com o código abaixo, consigo excluir exatamente na posição que quero, porém só parcialmente, porque o array ainda permanece com suas posições nulas, não ficam zeradas. Veja a imagem depois do código:
` const docUpdate = {
$unset: {
[`links.${position}`]: "<p><a>Link teste</a></p>"
}
}`
`const user = await User.updateOne({_id: id }, docUpdate, {
new: true
})`
O efeito disso no front-end são campos de links vazios, se bem que dá pra fazer uma condicional de valor verdadeiro para só assim renderizar a caixa de link, mas não acho que esse seja o caso, é bom manter as coisas organizadas. Confira o estrago:
Então, tendo em vista a solução desse problema em que me meti, qualquer ajuda é bem vinda. Muito obrigado. Desculpa se não fui claro. Disponho.
Vi muitos exemplos, mas como lidava com objetos dentro de arrays, com suas respectivas chaves e valores, não consegui aplicar para o meu caso, onde só tenho valores dentro do array.