Tamim Fahed نشر 25 يونيو 2021 أرسل تقرير نشر 25 يونيو 2021 لدي عدد كبير من المسنتدات بالشكل التالي: { username: "Bolk777", email: "test@test.com", "phone": "44857579493", .... } وقد قمت بتعريف الحقل phone على أنه من النوع String، ولكن أريد تغيير نوع الحقل إلى Number. فهل هنالك طريقة ما لتغيير قيمة الحقل للمستندات الموجودة لدي مسبقاً ضمن المجموعة دون أن تتأثر البيانات التي بداخلها؟ وكيف يمكنني إجراء ذلك؟ 1 اقتباس
1 عبدالله عبدالرحمن11 نشر 25 يونيو 2021 أرسل تقرير نشر 25 يونيو 2021 يمكنك إستخدام الآتي 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 Yomna Raouf نشر 25 يونيو 2021 أرسل تقرير نشر 25 يونيو 2021 يمكنك استخدام التعليمة التالية: db.COLLECTION_NAME.find().forEach(function(ch) { db.COLLECTION_NAME.update({ "_id":ch._id}, {"$set" : { "phone":parseInt(ch.phone)} }); }); أي يمكننا استخدام التابع ()parseInt لتحويل السلاسل النصية إلى أرقام اقتباس
السؤال
Tamim Fahed
لدي عدد كبير من المسنتدات بالشكل التالي:
{ username: "Bolk777", email: "test@test.com", "phone": "44857579493", .... }
وقد قمت بتعريف الحقل phone على أنه من النوع String، ولكن أريد تغيير نوع الحقل إلى Number. فهل هنالك طريقة ما لتغيير قيمة الحقل للمستندات الموجودة لدي مسبقاً ضمن المجموعة دون أن تتأثر البيانات التي بداخلها؟ وكيف يمكنني إجراء ذلك؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.