Eu completei o backend api da minha aplicação. Ele usa expressjs e mongodb/mongoose. De todos os testes que eu fiz, ele faz um ótimo trabalho fazendo post e recebendo pedidos para o meu MongoDB.
I was meaning to deploy my backend API this week so I can start working on the front end of my app. Mas eu percebi que eu precisava de uma maneira de armazenar imagens que o usuário carrega e para os itens no banco de dados.
Muitas pessoas estão dizendo que eu não deveria armazenar imagens no meu banco de dados MongoDB via Gridsf. E que eu deveria usar o Amazon S3 ao invés.
No entanto, tenho algumas preocupações com essa abordagem.
Para o meu aplicativo, o front-end e o meu backend api estão em repositórios separados. E eu pretendo que o primeiro faça um pedido de api para o segundo usando Axios para exibir os dados do banco de dados no meu html/CSS. Por causa disso, eu sinto que usar o S3 para armazenar imagens complica as coisas. Como, se eu tivesse uma lista de usuários, como posso ter certeza qual imagem de avatar do S3 é para qual usuário?
I’m picturing nightmare scenario where I have images received from S3 bucket, but they have some random hash each as the name of the file, and I don’t know which jpg file and which MongoDB document file belongs to the same user or item. Parece-me que armazenar imagens na base de dados resolve este dilema.
Devo ir em frente e usar apenas Gridsf ou é uma abordagem pior do que ficar apenas no multer-s3 e s3 em geral?
Existe uma alternativa melhor do que qualquer um dos dois?