Tamim Fahed نشر 25 يونيو 2021 أرسل تقرير مشاركة نشر 25 يونيو 2021 لدي عدد كبير من المسنتدات بالشكل التالي: { username: "Bolk777", email: "test@test.com", "phone": "44857579493", .... } وقد قمت بتعريف الحقل phone على أنه من النوع String، ولكن أريد تغيير نوع الحقل إلى Number. فهل هنالك طريقة ما لتغيير قيمة الحقل للمستندات الموجودة لدي مسبقاً ضمن المجموعة دون أن تتأثر البيانات التي بداخلها؟ وكيف يمكنني إجراء ذلك؟ 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
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 سلسلة نصية اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
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 لتحويل السلاسل النصية إلى أرقام اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
Tamim Fahed
لدي عدد كبير من المسنتدات بالشكل التالي:
{ username: "Bolk777", email: "test@test.com", "phone": "44857579493", .... }
وقد قمت بتعريف الحقل phone على أنه من النوع String، ولكن أريد تغيير نوع الحقل إلى Number. فهل هنالك طريقة ما لتغيير قيمة الحقل للمستندات الموجودة لدي مسبقاً ضمن المجموعة دون أن تتأثر البيانات التي بداخلها؟ وكيف يمكنني إجراء ذلك؟
رابط هذا التعليق
شارك على الشبكات الإجتماعية
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.