קודקודייל
  • קודקודייל
  • מי אתם קודקודייל?
  • קורסים בחינם
  • צרו קשר
  • בניית אתרים
    • וורדפרס
  • נגישות אתרים
  • כל הקטגוריות
    • אנגולר
    • HTML
    • CSS
    • Javascript
    • Typescript
    • NodeJs
    • בלוקציין
  • קודקודייל
  • מי אתם קודקודייל?
  • קורסים בחינם
  • צרו קשר
  • בניית אתרים
    • וורדפרס
  • נגישות אתרים
  • כל הקטגוריות
    • אנגולר
    • HTML
    • CSS
    • Javascript
    • Typescript
    • NodeJs
    • בלוקציין
קודקודייל
  • קודקודייל
  • מי אתם קודקודייל?
  • קורסים בחינם
  • צרו קשר
  • בניית אתרים
    • וורדפרס
  • נגישות אתרים
  • כל הקטגוריות
    • אנגולר
    • HTML
    • CSS
    • Javascript
    • Typescript
    • NodeJs
    • בלוקציין
  • קודקודייל
  • מי אתם קודקודייל?
  • קורסים בחינם
  • צרו קשר
  • בניית אתרים
    • וורדפרס
  • נגישות אתרים
  • כל הקטגוריות
    • אנגולר
    • HTML
    • CSS
    • Javascript
    • Typescript
    • NodeJs
    • בלוקציין
ראשי ♦ Javascript ♦ איך למחוק על פי מערך של אובייקטים ב-mongoDb בשימוש nodeJs Express

איך למחוק על פי מערך של אובייקטים ב-mongoDb בשימוש nodeJs Express

עידן יצחקי 31 בדצמבר 2021 אין תגובות

אם אנחנו רוצים למחוק רק רשומה אחת, זה קל… שלוחים לשרת את ה-ID שאנחנו רוצים למחוק ומשם זה די פשוט.

אבל מה קורה שרוצים למחוק מספר רשומות בפעולה אחת? זאת אומרת שאנחנו שולחים מערך של מספרי זיהוי או אובייקטים

ואנחנו צריכים לבדוק שאכן כל התהליך עבר תקין (או שלא) ורק אז להחזיר תשובה לצד הלקוח שתשקף את התוצאה.

אפשר לעשות את זה כך

exports.deleteExternalLinks = async (req, res, next) => {
    Promise.all(
        req.body.map(async (item) => {
            await ExternalLinks.deleteOne({ _id: item.id });
        })).then(() => {
            res.status(200).json({
                message: 'Delete completed'
            });
        }).catch(() => {
            res.status(500).json({
                message: 'Delete failed'
            });
        });
}
  • שורה 1 – נשתמש ב-async כדי לא לתפוס משאבים של צד שרת ללא צורך.
  • שורה 2 – Promise.all – ממתין לתשובה מכל השאילתות ששלחנו ומספיק שאחת מהשאילתות תחזיר תשובה של שגיאה אז כל התהליך יחזיר תשובה של שגיאה.
  • שורה 3 – מבצעים לולאה על המערך ושולחים שאילתות בתצורה async.
  • שורה 4 – בגלל שהפונקציה היא async אנחנו יכולים וצריכים להשתמש ב-await לפני הביצוע, מחלצים את הזיהוי ומשתמשים בו כפילטר לרשומה המתאימה.
  • אם אנחנו רוצים להחמיר ולעשות עוד בדיקות השוואה, אין בעיה, יש לנו את כל האובייקט ואנחנו יכולים להוסיף עוד פרמטרים לבדיקה וסינון.
  • שורה 5 – כאשר כל התהליך הסתיים, ויש ל-promise תשובה (תקין/לא תקין) אפשר לשלוח תשובה חזרה למשתמש.

במקרה הזה מעניין אותי רק אם זה הצליח או לא, אבל אפשר יותר לחקור את התשובה לפרטים נוספים אם רוצים.

במקרה שהכל תקין, אנחנו מחזירים תשובה של 200 עם הודעה (אבל לא חייבים).

במקרה שיש כשלון, אנחנו מחזירים תשובה של 500 גם עם הודעה.

זה הכל 📯 , בהצלחה.

פוסטים קשורים:

תמונת אווירה של דאטהאיך לשמור או לעדכן מערך של אובייקטים ב-mongoDb בשימוש nodeJs Express שימוש יעיל ב async pipe – אנגולר תמונת אווירה של חיפוש תמונותאיך למשוך דינמית favicon של אתרים אחרים ב-JS תמונת אווירה של עוגיות במחשבעוגיות (Cookies) ליצור ולבדוק ב-JS
express javascript mongodb nodejs

אודות המחבר

עידן יצחקי להציג את כל הפוסטים של עידן יצחקי


« פוסט קודם
פוסט הבא »

השארת תגובה

ביטול

חיפוש באתר
בחירת העורכים
29 בדצמבר 2023 עידן יצחקי

שדה טקסט עשיר עם תמונות

אתם הולכים להיות מופתעים עד כמה HTML יכול להיות חכם ולבצע משהו כל כך מורכב, שאם אנחנו היינו רוצים ליצור

1 באוקטובר 2021 עידן יצחקי

איך למשוך דינמית favicon של אתרים אחרים ב-JS

בפוסט זה נראה איך אפשר על פי לינקים בדף למשוך את ה-favicon מהדומיין שלהם באופן דינמי, בדיקה של תקינות התמונה

פופולרי
Javascript functions – היכרות עם סוגי פונקציות
Javascript
21 בדצמבר 2024 אין תגובות
Nested routing in angular standalone component
Typescript
15 בנובמבר 2024 תגובה אחת
בחרו לפי תגיות
angular blockchain css ethers express front-end fullstack GQL html javascript next js nextjs nodejs react hooks reactjs solidity webgl אנגולר בלוקציין וורדפרס לימודי אנגולר לימודי וורדפרס לימוד ריאקט מדריך front-end מדריך GQL מדריך אנגולר מדריך וורדפרס מדריך חינם react מדריך ריאקט מפתח בלוק מפתח בלוקציין מתכנת front-end מתכנת בלוקציין מתכנת פרונט סולידיטי קורס front end קורס fullstack קורס nextjs קורס אנגולר קורס בלוקציין קורס בלוקציין בחינם קורס סולידיטי קורס ריאקט קורס תכנות קורס תכנות בחינם
סינון על פי קטגוריות
CSS fullstack HTML IIS Javascript nodeJs SEO Typescript אנגולר בלוקציין בניית אתרים וורדפרס חיפוש עבודה כלים נוספים כללי נגישות קורסים ריאקט תלת מימד תקלות ופתרונות
צור קשר
כל הזכויות שמורות לקודקודייל
ליצירת קשר: @ קודקודייל
גלילה לראש העמוד