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

كيف أقوم بتغيير نوع البيانات في حقل ما ضمن mongodb

Tamim Fahed

السؤال

لدي عدد كبير من المسنتدات بالشكل التالي:

{
	username: "Bolk777",
	email: "test@test.com",
	"phone": "44857579493",
	....
}

وقد قمت بتعريف الحقل phone على أنه من النوع String، ولكن أريد تغيير نوع الحقل إلى Number. فهل هنالك طريقة ما لتغيير قيمة الحقل للمستندات الموجودة لدي مسبقاً ضمن المجموعة دون أن تتأثر البيانات التي بداخلها؟ وكيف يمكنني إجراء ذلك؟

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

Recommended Posts

  • 1

يمكنك إستخدام الآتي

db.MYCOLLECTION.find({ phone: { $type: 2 } }).forEach(function(obj){
    try {// تحويل من سلسلة نصية الى رقم
        obj.phone = parseInt(obj.phone);
        // حفظ القيم الجديدة
        db.MYCOLLECTION.save(obj);
    } catch(e) {
        // تنفيذ كود عند حدوث خطأ
    }
});

حيث

phone: { $type: 2 }

يُخبر mongo لتحميل كل phone التي قيمها من نوع string سلسلة نصية

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

  • 1

يمكنك استخدام التعليمة التالية:

db.COLLECTION_NAME.find().forEach(function(ch)
  {
         db.COLLECTION_NAME.update({ "_id":ch._id}, {"$set" :  { "phone":parseInt(ch.phone)} });
  });

أي يمكننا استخدام التابع ()parseInt لتحويل السلاسل النصية إلى أرقام 

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

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...