محمود سعداوي2 نشر 24 أكتوبر 2023 أرسل تقرير نشر 24 أكتوبر 2023 السلام عليكم. قمت بالكود التالي قصد إظهار البيانات الخاصة بالمستخدم (الإسم و الصورة) لكل post. // Get All Images const allImages = async (req, res) => { try { let posts = await Image.find() .sort({ date: -1 }) .populate("user", "name avatar id"); res.json(posts); } catch (error) { console.log(error.message); res.status(500).send("Server error"); } }; Image Model const ImageSchema = new Schema({ user: { type: Schema.Types.ObjectId }, title: { type: String, required: true }, description: { type: String, required: true }, photo: { type: Object, default: { url: "", publicId: null, }, }, likes: [ { user: { type: Schema.Types.ObjectId } } ], comments: [ { user: { type: Schema.Types.ObjectId }, text: { type: String }, date: { type: Date, default: Date.now } } ], date: { type: Date, default: Date.now } }); المشكل هو ظهور الid الخاصة بالمستخدم دون ظهور بقية البيانات شكرا على المساعدة 1 اقتباس
0 عمر قره محمد نشر 25 أكتوبر 2023 أرسل تقرير نشر 25 أكتوبر 2023 عند تعريف ال user يجب ان تقوم بإضافة الـ reference حتى تعرف mongoose ماهي الـ collection التي تقصدها : const ImageSchema = new Schema({ user: { type: Schema.Types.ObjectId, ref: "example" // اسم المودل التي تحتوي المستخدمين }, title: { type: String, required: true }, ... وهذا مثال بسيط يوضح كيفية ربط المودل ببعضهم البعض : const mongoose = require('mongoose'); const { Schema } = mongoose; const personSchema = Schema({ name: String, age: Number, stories: [{ type: Schema.Types.ObjectId, ref: 'Story' }] }); const storySchema = Schema({ author: { type: Schema.Types.ObjectId, ref: 'Person' }, title: String, fans: [{ type: Schema.Types.ObjectId, ref: 'Person' }] }); const Story = mongoose.model('Story', storySchema); const Person = mongoose.model('Person', personSchema); 1 اقتباس
السؤال
محمود سعداوي2
السلام عليكم.
قمت بالكود التالي قصد إظهار البيانات الخاصة بالمستخدم (الإسم و الصورة) لكل post.
// Get All Images const allImages = async (req, res) => { try { let posts = await Image.find() .sort({ date: -1 }) .populate("user", "name avatar id"); res.json(posts); } catch (error) { console.log(error.message); res.status(500).send("Server error"); } };
Image Model
const ImageSchema = new Schema({ user: { type: Schema.Types.ObjectId }, title: { type: String, required: true }, description: { type: String, required: true }, photo: { type: Object, default: { url: "", publicId: null, }, }, likes: [ { user: { type: Schema.Types.ObjectId } } ], comments: [ { user: { type: Schema.Types.ObjectId }, text: { type: String }, date: { type: Date, default: Date.now } } ], date: { type: Date, default: Date.now } });
المشكل هو ظهور الid الخاصة بالمستخدم دون ظهور بقية البيانات
شكرا على المساعدة
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.