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

updateOne لا يعمل nextjs mongodb ؟

عبد النور محمد

السؤال

أحاول تنفيذ دالة updateOne من Mongodb على NEXTJS. ولكن لا يتم تحديثه ، من console.log (req.body) يمكن الحصول على المعلومات.

handler.patch(async (req, res) => {
  if (!req.user) {
    res.status(401).end();
    return;
  }
  const { name, bio } = req.body;
  await req.db.collection('users').updateOne(
    { _id: req.user._id },
    {
      $set: {
        ...(name && { name }),
        bio: bio || '',
      },
    },
  );
  res.json({ user: { name, bio } });
});

console.log(req.body)

Content-Disposition: form-data; name="name"

Firstname Lastname
------WebKitFormBoundaryPwuAfw4FvUzDe8uP
Content-Disposition: form-data; name="bio"

xx
------WebKitFormBoundaryPwuAfw4FvUzDe8uP--

 

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

Recommended Posts

  • 0

أعتقد أن الخطأ في الحصول على الطلبية بصيغة JSON تأمد من تفعيل bodyParser ربما تراها متوقفة bodyParser: false

وربما id لديك من نوع ObjectID لذلك عليك تحويلها..

const {ObjectId} = require('mongodb');

{ "_id": ObjectId(req.user._id)}, 

 

حاول وضع الخيار {returnOriginal: false} لنجبر إعادة البيانات المعدلة

return collection.findOneAndUpdate(   // بحث وتحديث
    {_id: ObjectId(id)},     فلترة
    {$set: updatedDoc},      تمرير البيانات المعدلة
    {returnOriginal: false}  // هنا نمنع الاستعلام من إعادة البيانات الأصلية
  );

 

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

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...