Ahmed Sawy نشر 10 مايو 2021 أرسل تقرير نشر 10 مايو 2021 السلام عليكم .. اود عمل تطبيق للكورسات باستخدام النود ورياكت ناتيف .. فى النود اود رفع بيانات خاصة باسئلة واجابات هذه الاسئلة .. لكى تفهم ما اقصده الق نظرة على هذا الكود .. // هذا هو ال model const mongoose = require("mongoose"); const questSchema = mongoose.Schema({ name: String, answers: [ { num: String, ansName: String, correct: Boolean, }, ], }); module.exports.Quest = mongoose.model("Quest", questSchema); هذا هو الراوتر router.post("/", async (req, res) => { let newQuest = new Quest({ name: req.body.name, answers: [ { num: req.body.num, ansName: req.body.ansName, correct: req.body.correct, }, ], }); newQuest = await newQuest.save(); res.send(newQuest); }); انا الان اريد ان اجعل لكل سؤال اربع اجابات لذلك وضعتهم فى array لاننى اريد طباعة سؤال مع عدة اجابات فانا اكتب فى postman الكود التالى {"name": "question 1", "answers": [ { "num": "1", "ansName": "answer 1", "correct": false }, { "num": "2", "ansName": "answer 2", "correct": true }, { "num": "3", "ansName": "answer 3", "correct": false } ] } لكنه يقوم بطباعة أوبجكت واحد فارغ فى الداتا بيز .. هذا الكود الاخير يعمل لكن لايمكننى ان ارفع الا اجابة واحدة لسؤال واحد .. عندما اقوم بعمل هذا request فى بوست مان {"name": "question 1", "num": "1", "ansName": "answer 1", "correct": true } هذه الطريقة تنجح لكنها لا تنفع لانه يطبع اجابة واحدة فقط .. ونا ااريد ان اطبع ثلاثة او اكتر .. ما العمل ؟؟ ما الكود الواجب على كتابته فى postman لطباعة Array تحتوى على أكثر من أوبجكت ؟؟ اقتباس
0 Nuhla Almasri نشر 10 مايو 2021 أرسل تقرير نشر 10 مايو 2021 (معدل) سيدي العزيز هل يقوم هذا الكود بحفظ البيانات بطريقة صحيحة ؟؟؟ إن كنت قد قمت بتعرف قائمة البيانات بحفظ مصفوفة من البيانات ك answers يمكنك عمل الاتي router.post("/", async (req, res) => { let newQuest = new Quest({ name: req.body.name, // هنا فقط تقوم باخد اسم المتغير من البودي و وضعه كامل كما هو answers: req.body.answers }) newQuest = await newQuest.save(); res.send(newQuest); }); و ان لم تقم بتعريف قائمة البيانات بأخذ الأجوبة كمصفوفة فيمكنك عمل الاتي router.post("/", async (req, res) => { // هنا تفوم بعمل لوب و تحفظ كل قيمة على حده و لكن بنقس اسم السؤال var finalresult =[] for(var i = 0 ; i< req.body.answers.length ; i++){ let newQuest = new Quest({ name: req.body.name, answers: [ { num: req.body.num, ansName: req.body.ansName, correct: req.body.correct, }, ], }); newQuest = await newQuest.save(); finalresult.push(newQuest) } res.send(finalresult); }); تم التعديل في 10 مايو 2021 بواسطة Nuhla Almasri اقتباس
0 محمد أيت لعرايك نشر 11 مايو 2021 أرسل تقرير نشر 11 مايو 2021 في headers قم بإضافة ال header التالي content-type : application/json (أنظر الصورة) بعد ذلك يمكنك إرسال data على شكل json . يجب أن تتأكد أنك تقوم بإرسال json وليس شكل اخر من data {"name": "question 1", "answers": [ { "num": "1", "ansName": "answer 1", "correct": false }, { "num": "2", "ansName": "answer 2", "correct": true }, { "num": "3", "ansName": "answer 3", "correct": false } ] } اقتباس
السؤال
Ahmed Sawy
السلام عليكم .. اود عمل تطبيق للكورسات باستخدام النود ورياكت ناتيف ..
فى النود اود رفع بيانات خاصة باسئلة واجابات هذه الاسئلة ..
لكى تفهم ما اقصده الق نظرة على هذا الكود ..
هذا هو الراوتر
انا الان اريد ان اجعل لكل سؤال اربع اجابات لذلك وضعتهم فى array لاننى اريد طباعة سؤال مع عدة اجابات فانا اكتب فى postman الكود التالى
لكنه يقوم بطباعة أوبجكت واحد فارغ فى الداتا بيز ..
هذا الكود الاخير يعمل لكن لايمكننى ان ارفع الا اجابة واحدة لسؤال واحد .. عندما اقوم بعمل هذا request فى بوست مان
هذه الطريقة تنجح لكنها لا تنفع لانه يطبع اجابة واحدة فقط .. ونا ااريد ان اطبع ثلاثة او اكتر .. ما العمل ؟؟ ما الكود الواجب على كتابته فى postman لطباعة Array تحتوى على أكثر من أوبجكت ؟؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.