اذهب إلى المحتوى
  • 0

الإتصال بmongo db بواسطة node js

محمود سعداوي2

السؤال

ما الفرق بين الطريقتين التاليتن في الربط بقواعد البيانات mongo db

1. 

mongoose.connect('mongodb://127.0.0.1:27017/my_db')
    .then(
        () => {
            console.log("connected to db")
        }
    )
    .catch(
        (err) => {
            console.log(err)
        }
    )

2.

mongoose.connect('mongodb://localhost:27017/my_db')
    .then(
        () => {
            console.log("connected to db")
        }
    )
    .catch(
        (err) => {
            console.log(err)
        }
    )

مع العلم أن الطريقة الثانية لم تنجح معي.

شكرا.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

كلا `127.0.0.1` و `localhost` يتم استخدامهما للإشارة إلى الكمبيوتر المحلي أو الكمبيوتر الذي تعمل عليه.

`127.0.0.1` هو عنوان IP لواجهة الحلقة الداخلية، وهي واجهة شبكة خاصة تستخدمها حاسوبك للتواصل مع نفسه.

يتم استخدام مصطلح "localhost" للإشارة إلى الحاسوب المحلي نفسه، ويتم تعريفه في ملف hosts في نظام التشغيل الخاص بك.

في سياق الاتصال بـ MongoDB، يمكن استخدام كلا من `127.0.0.1` و `localhost` بشكل متبادل حيث يشير كلاهما إلى نفس الجهاز ولكن في حال لم يعمل الـ localhost فيمكن أن يكون هناك العديد من الأسباب.

يمكن أن يكون ملف HOSTS معطوبًا، ويجب حذفه وإعادة إنشائه، وكذلك يمكن أن يتسبب جدار الحماية في حظر الخادم، وقد يؤدي عدم إحالة  localhost إلى 127.0.0.1 لهذه المشكلة.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

الفرق بين الطريقتين هو في عنوان الاستضافة (host) الذي يتم استخدامه للاتصال بقاعدة بيانات MongoDB.

في الطريقة الأولى، يستخدم عنوان IP "127.0.0.1" للاتصال بقاعدة البيانات، وذلك العنوان يشير إلى جهاز الكمبيوتر الحالي (local host)، ويشير إلى نفس الجهاز الذي يتم تشغيل السكربت عليه، ودائمًا يعمل بشكل صحيح إذا كنت تقوم بتشغيل قاعدة البيانات على نفس الجهاز الذي تقوم فيه بتشغيل التطبيق.

أما في الطريقة الثانية، يستخدم "localhost" كاسم الاستضافة، ويشير "localhost" إلى نفس جهاز الكمبيوتر الذي يتم تشغيل السكربت عليه. وغالبًا  ما تكون هذه الطريقة متوافقة وتعمل بشكل صحيح على معظم الأنظمةk ولكن الأفضل هو استخدام عنوان الـ ip.

فعند استخدام الـ IP، فإنك تحدد عنوان IP بشكل صريح للاتصال بقاعدة البيانات، بينما عند استخدام "localhost"، يتم تحويلها بشكل ضمني إلى عنوان IP الخاص بجهاز الكمبيوتر الحالي، وبالتالي، في بعض الأحيان يتم تفسيره بشكل خاطيء ولتجنب تلك المشاكل من الأفضل استخدام عنوان الـ IP.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

الفرق بين الطريقتين التاليتين في الربط بقاعدة البيانات MongoDB هو الاستخدام المختلف لعنوان الاتصال بالخادم الذي تستخدمه في كليهما.

  • الطريقة الأولى: mongoose.connect('mongodb://127.0.0.1:27017/my_db')
  • الطريقة الثانية: mongoose.connect('mongodb://localhost:27017/my_db')

ففي الواقع، هناك فرق ضئيل بين استخدام "localhost" و "127.0.0.1"، ويتم تعيينهما عادة للإشارة إلى نفس العنوان IP للجهاز المضيف. ولكن يمكن أن يكون لديك تكوين مختلف في بيئة نظام التشغيل الخاص بك يؤثر على الوصول إلى قاعدة البيانات باستخدام احدهما.

إذا فشلت الطريقة الثانية في الاتصال بقاعدة البيانات، فمن المحتمل أن هناك مشكلة في تكوين بيئة النظام الخاصة بك. يُفضل استخدام الطريقة الأولى التي تستخدم "127.0.0.1" كعنوان IP للاتصال بالخادم المحلي لتلافي المشكلة وفقط.

والأرجح، أن المشكلة هي فقط بخصوص كيفية تفسير localhost و 127.0.0.1 من قبل نظام التشغيل أو التطبيق.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...