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

السؤال

نشر

أعمل حاليا على إنشاء باك إند لموقع أنوي تطويره ولكن عندما أحاول تجربة التسجيل كمستخدم جديد لا يتم ذلك ويظهر خطأ في الكوماند لاين ولاتعمل الصفحة التي من المفترض أن تُظهر لي ريسبونس "OK"

أرجو الاطلاع على الصور المرفقة أدناه 

مع العلم أني لدي حساب في موقع mongoDB وقمت بإنشاء قاعدة بيانات مسبقا

auth error.png

git error.png

response error.png

Recommended Posts

  • 0
نشر

الخطأ الظاهر لديك معناه أن mongoose يحاول الولوج الى قاعدة البيانات وعمل insert قبل إجراء الإتصال بها. لم تشاركنا الكود الخاص بالإتصال بقاعدة البيانات لكن يظهر في terminal أنها متصلة.. حاول حذف ملف node_modules ومن ثم إعد بناء المشروع npm install أو yarn وأعد المحاولة فهل يستمر الخطأ؟ إذا أستمر يرجى مشاركة ملف المشروع مضغوطاً بدونnode_modules حتى يتسنى لنا معاينة المشكلة

  • 0
نشر

حذفت node_modules وأعدت تنزيلها ولكن لم تحل المشكلة 

أرفقت ملف الباك إند

أخي أريدك أن تعلم أن قاعدة البيانات في mongo atlas لا يظهر فيها مستخدم جديد

مع أنه يجب أن يظهر المستخدم كأوبجكت json عند عمل الريكويست

backend.rar

  • 0
نشر
بتاريخ 29 دقائق مضت قال محمد الحربي24:

حذفت node_modules وأعدت تنزيلها ولكن لم تحل المشكلة 

أرفقت ملف الباك إند

أخي أريدك أن تعلم أن قاعدة البيانات في mongo atlas لا يظهر فيها مستخدم جديد

مع أنه يجب أن يظهر المستخدم كأوبجكت json عند عمل الريكويست

backend.rar

المشكلة هو أنك لا تقوم بالإتصال بقاعدة البيانات وبالتالي لا يمكنك إنشاء مستخدم جديد. 

في الملف .env لايوجد userame أو password حيث يبدو لي أنك نسخت template دون أن تعدل عليها وبالتالي هنا المشكلة. أيضا كود الإتصال بقاعدة البيانات في الملف index.js يجب أن تضعه داخل بلوك try catch حتى تتمكن من الوصول الى خطأ الإتصال بوضوح وكذلك لمنع حصول crash للخادم server. 

 
-- .env

MONGO_URL = mongodb+srv://<username>:<password>@clustername.sbewku1.mongodb.net/?retryWrites=true&w=majority

// تكتب إسم المستخدم الحقيقي وكلمة المرور وعلى سبيل المثال هكذا<username>:<password> مكان

MONGO_URL = mongodb+srv://my_username:my_password@clustername.sbewku1.mongodb.net/?retryWrites=true&w=majority



// أيضا عدل كود الإتصال بقاعدة البيانات كما وضحنا لك وكما يلي



-- index.js



try {

    mongoose.connect(

     

        process.env.MONGO_URL,

      { useNewUrlParser: true, useUnifiedTopology: true  },

     

        (err, instance)=> err ? console.log('connection error:', err)

            :console.log("connected to database ", instance.connections[0].name)

    )

  } catch (error) {

    console.log("mongoose connection error:", error)

  }

 

 

  • 0
نشر (معدل)

أخي بالنسبة لكود env عدلت عليه ووضعت اسم المستخدم وكلمة المرور الصحيحين واسم cluster الخاص بي أيضا ولكن أعدته لحالته الأصلية في الملف المضغوط لأنها بيانات لا يمكن مشاركتها 

وبالنسبة لكود الاتصال بقاعدة البيانات وضعته

هذا الخطأ الذي ظهر لي

git error.png

تم التعديل في بواسطة محمد الحربي24
  • 0
نشر
بتاريخ 47 دقائق مضت قال محمد الحربي24:

أخي بالنسبة لكود env عدلت عليه ووضعت اسم المستخدم وكلمة المرور الصحيحين واسم cluster الخاص بي أيضا ولكن أعدته لحالته الأصلية في الملف المضغوط لأنها بيانات لا يمكن مشاركتها 

وبالنسبة لكود الاتصال بقاعدة البيانات وضعته

هذا الخطأ الذي ظهر لي

 

واضح جداً الخطأ أنك ترسل إسم مستخدم او كلمة مرور خاطئة. أنتبه الى النقاط التالية:

  • إذا كنت تكتب إسم المستخدم وكلمة المرور داخل <..> فلن يعمل الأمر والصواب كتابتها كما في وضحنا لك في رد سابق
  • إذا كنت تستعمل إسم المستخدم(وكلمة المرور) الخاص بالحساب لتسجيل الدخول الى حساب أطلس فهي لن تعمل بالتأكيد ولكن إستعمل إسم المستخدم وكلمة المرور الخاصة بقاعدة البيانات التي تريد الإتصال بها على حسابك.

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...