Dokončil jsem backend api své aplikace. Používá expressjs a mongodb/mongoose. Ze všech testů, které jsem provedl, vyplývá, že skvěle zvládá odesílání a získávání požadavků do mé MongoDB.
Měl jsem v úmyslu tento týden nasadit své backend API, abych mohl začít pracovat na front end své aplikace. Ale uvědomil jsem si, že potřebuji způsob, jak ukládat obrázky, které uživatel nahraje, a pro položky v databázi.
Spousta lidí říká, že bych neměl ukládat obrázky do své databáze MongoDB přes Gridsf. A že bych místo toho měl použít Amazon S3.
Mám však s tímto přístupem určité obavy.
Pro mou aplikaci jsou front-end a backend api v samostatných repozitářích. A mám v úmyslu, aby ta první prováděla api požadavky na tu druhou pomocí Axiosu za účelem zobrazení dat z databáze v mém html/CSS. Z tohoto důvodu mám pocit, že použití S3 pro ukládání obrázků věci komplikuje. Třeba kdybych měl seznam uživatelů, jak si můžu být jistý, který obrázek avataru z S3 patří kterému uživateli?“
Představuji si noční můru, kdy mám obrázky přijaté z kyblíku S3, ale každý z nich má jako název souboru nějaký náhodný hash a já nevím, který soubor jpg a který soubor dokumentu MongoDB patří stejnému uživateli nebo položce. Prostě mi přijde, že ukládání obrázků do databáze tohle dilema řeší.
Mám jít dál a používat jen Gridsf, nebo je to horší přístup než zůstat u multer-s3 a s3 obecně?
Existuje nějaká lepší alternativa než obě?