Ik heb de backend api van mijn app voltooid. Het maakt gebruik van expressjs en mongodb/mongoose. Uit alle tests die ik heb gedaan, het doet een geweldige job met het maken van post en get verzoeken aan mijn MongoDB.
Ik was van plan om mijn backend API implementeren deze week, zodat ik kan beginnen te werken aan de front-end van mijn app. Maar ik realiseerde me dat ik een manier nodig had om afbeeldingen op te slaan die de gebruiker uploadt en voor de items in de database.
Veel mensen zeggen dat ik geen afbeeldingen in mijn MongoDB-database moet opslaan via Gridsf. En dat ik in plaats daarvan Amazon S3 moet gebruiken.
Ik heb echter wat bedenkingen bij deze aanpak.
Voor mijn app staan de front-end en mijn backend api in aparte repo’s. En ik ben van plan voor de eerste om api verzoeken te doen aan de tweede met behulp van Axios om databasegegevens weer te geven in mijn html / CSS. Hierdoor heb ik het gevoel dat het gebruik van S3 om afbeeldingen op te slaan dingen compliceert. Zoals, als ik een lijst van gebruikers, hoe kan ik er zeker van zijn welke avatar afbeelding uit S3 is voor welke gebruiker?
Ik stel me nachtmerrie scenario waar ik beelden ontvangen van S3 emmer, maar ze hebben elk een aantal willekeurige hash als de naam van het bestand, en ik weet niet welke jpg-bestand en welke MongoDB-document bestand behoort tot dezelfde gebruiker of item. Het lijkt me gewoon dat het opslaan van afbeeldingen in de database lost dit dilemma.
Moet ik doorgaan en gewoon gebruik Gridsf of is het een slechtere aanpak dan gewoon vasthouden aan multer-s3 en s3 in het algemeen?
Is er een beter alternatief dan een van beide?