رفع الوسائط على قاعدة بيانات MongoDB باستخدام Express.js

السلام عليكم يا اخوان

أعمل على مشروع باستخدام Node.js وExpress.js وأستخدم قاعدة بيانات MongoDB وتطلَّب مني أن أضيف إليه خاصية لرفع الوسائط على قاعدة البيانات ولكن قبل أن أضيفها أردت أن أعرف ما هي أفضل طريقة لرفع الوسائط كالصور مثلًا على قاعدة بيانات مونجو؟

هل:

أنشئ مجلد خاص داخل المشروع ثم تُحفظ الصور عليه ويتم حفظ مساراتها فقط داخل قاعدة البيانات

أم:

يُحفظ الكود المصدري للصور مباشرة داخلها!

مع ذكر محاسن وعيوب كل منهما، وإذا توفرت طريقة ثالثة لا بأس من ذكرها أيضًا.


أفضل طريقة لرفع الوسائط هي إنشاء مجلد خاص داخل المشروع ثم تحفظ الصور عليه ويتم حفظ مساراتها فقط داخل قاعدة البيانات بحيث

  • لا تزيد حجم قاعدة البيانات مما يجعلها أكثر كفاءة. 
  • يمكن الوصول إلى الوسائط مباشرة من المجلد دون الحاجة إلى استخراجها من قاعدة البيانات.
  • سهولة إضافة أو تعديل أو حذف الوسائط.

الطريقة الثانية هي حفظ الكود المصدري للصور مباشرة داخل قاعدة البيانات. لكنها لن تكون مفيدة لأنها ستزيد حجم قاعدة البيانات بشكل كبير.

هناك أيضًا طرق أخرى مثل استخدام خدمات تخزين الوسائط (مثل Amazon S3 أو Firebase Storage) وحفظ روابط الوسائط في قاعدة البيانات وهذه الطريقة جيدة أيضاً إذا كانت متوفره بالنسبة لك.

أشكرك يا أخ عبدالباسط وجزاك الله خير الجزاء

Mazen_Othman
  • حذف بواسطة المستخدم