דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. שימוש ב-MongoDB בנוד

שימוש ב-MongoDB בנוד

מתוזמן נעוץ נעול הועבר תכנות
22 פוסטים 3 כותבים 372 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • dovidD מנותק
    dovidD מנותק
    dovid ניהול
    השיב לyossiz ב נערך לאחרונה על ידי dovid
    #8

    @yossiz לא, אל תעשה פונקציה אסינכורנית, תעשה פונקציה שמחזירה משתנה.
    אם אתה חושש שהקונקשיין עוד לא נטען (למרות שלא חששת לזה בפתרון הנאיבי האמור), תבטח את זה בלוגיקה של זרימת האפליקציה שיהיה שהות לפני הקריאה הראשונה, וגם אם לא, אז לא נורא, יהיה שגיאה בקריאה מוקדמת מידי.

    אכן נשגב מבינתי למה נוד לא עושים toplevel await (וגם למה הם לא הופכים הכל הכל במודולים שלהם מקאלבק לפרומייז).

    מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

    בכל נושא אפשר ליצור קשר dovid@tchumim.com

    תגובה 1 תגובה אחרונה
    0
    • dovidD מנותק
      dovidD מנותק
      dovid ניהול
      כתב ב נערך לאחרונה על ידי
      #9

      כעת אני מחפש ורואה פתרונות טובים יותר (כלומר בטוחים לגמרי)
      https://stackoverflow.com/a/49400334/1271037

      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

      בכל נושא אפשר ליצור קשר dovid@tchumim.com

      תגובה 1 תגובה אחרונה
      0
      • dovidD מנותק
        dovidD מנותק
        dovid ניהול
        כתב ב נערך לאחרונה על ידי
        #10

        כעת אני חושב שלמה לא להכניס את כל טעינת האפליקציה לקאלבק?
        זה לגיטמי, אני מאשר את זה 🙂

        מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

        בכל נושא אפשר ליצור קשר dovid@tchumim.com

        yossizY א 2 תגובות תגובה אחרונה
        1
        • yossizY מנותק
          yossizY מנותק
          yossiz
          השיב לdovid ב נערך לאחרונה על ידי
          #11

          @dovid אמר בשימוש ב-MongoDB בנוד:

          כעת אני חושב שלמה לא להכניס את כל טעינת האפליקציה לקאלבק?

          בדיוק באתי לכתוב את זה... תודה רבה!

          📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

          תגובה 1 תגובה אחרונה
          1
          • א מנותק
            א מנותק
            אהרן
            השיב לyossiz ב נערך לאחרונה על ידי
            #12

            @yossiz אמר בשימוש ב-MongoDB בנוד:

            שלא קיים toplevel await

            בדרך
            אבל זה לא דבש מוחלט.

            תגובה 1 תגובה אחרונה
            2
            • א מנותק
              א מנותק
              אהרן
              השיב לyossiz ב נערך לאחרונה על ידי
              #13

              @yossiz אמר בשימוש ב-MongoDB בנוד:

              הפיתרון הוא לכאורה להחזיר אובייקט שיעטוף את ה-db. כל פונקציה שנקרא על העטיפה יעשה קודם await לאובייקט ה-db האמיתי ואז יעביר את הפונקציה הלאה לאובייקט האמיתי.

              האם יש דרך לעשות עטיפה כזאת בלי יותר מדי boilerplate? פשוט להגיד ל-JS שכל פונקציה שאני יקרא על האובייקט לא משנה מה השם שלו יעבור דרך קוד העטיפה?

              לא מבין את הבעיה
              הקלאס מיד חוזר מכיל בתוכו את ה-DB
              ופונקצית insert({1:2}) יכיל בתוכו בדיקה אם ה-DB מחובר, ומחזיר תמיד פרומיז.

              כך תמיד עושים?!

              yossizY תגובה 1 תגובה אחרונה
              0
              • א מנותק
                א מנותק
                אהרן
                השיב לdovid ב נערך לאחרונה על ידי
                #14

                @dovid אמר בשימוש ב-MongoDB בנוד:

                למה לא להכניס את כל טעינת האפליקציה לקאלבק?

                לחזור לטרום ימי הפרומיז?

                dovidD תגובה 1 תגובה אחרונה
                0
                • dovidD מנותק
                  dovidD מנותק
                  dovid ניהול
                  השיב לאהרן ב נערך לאחרונה על ידי
                  #15

                  @אהרן לא התכוונתי דוקא קלאבק, התכוונתי שהאפליקציה כולה תיטען מתוך פונקציה.
                  ולגבי הלא דבש שבדרך, הרי נוד מאמצת ממש לאט את ההתקדמויות האלה, לא כן? נראה לי הדפדפנים יעקפו אותה עוד מעט.

                  מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                  בכל נושא אפשר ליצור קשר dovid@tchumim.com

                  א 2 תגובות תגובה אחרונה
                  1
                  • א מנותק
                    א מנותק
                    אהרן
                    השיב לdovid ב נערך לאחרונה על ידי
                    #16

                    @dovid אמר בשימוש ב-MongoDB בנוד:

                    נוד מאמצת ממש לאט את ההתקדמויות האלה

                    שמח שהם מאפשרים לדנו לעקוף אותם בקלות 🙂

                    תגובה 1 תגובה אחרונה
                    0
                    • א מנותק
                      א מנותק
                      אהרן
                      השיב לdovid ב נערך לאחרונה על ידי
                      #17

                      @dovid אמר בשימוש ב-MongoDB בנוד:

                      לא התכוונתי דוקא קלאבק, התכוונתי שהאפליקציה כולה תיטען מתוך פונקציה.

                      לא הבנתי מדוע לא להשתמש ב-await
                      (בפונקציית insert שאמור להיקרא מתוך פונקציה, לא ב-require)?

                      תגובה 1 תגובה אחרונה
                      0
                      • yossizY מנותק
                        yossizY מנותק
                        yossiz
                        השיב לאהרן ב נערך לאחרונה על ידי
                        #18

                        @אהרן אמר בשימוש ב-MongoDB בנוד:

                        ופונקצית insert({1:2}) יכיל בתוכו בדיקה אם ה-DB מחובר, ומחזיר תמיד פרומיז.

                        הפונקציה insert מוגדר כבר על ה-db. לא רציתי לעבור על כל הפונקציות של ה-db ולהעתיק אותם לקלאס. בשביל זה ביקשתי משהו שחוסך boilerplate.
                        בשפות דינאמיות אחרות יש אפשרות להגדיר פונקציה שירוץ אם קוראים לפונקציה לא קיימת על אובייקט. אם זה היה קיים ב-JS הייתי יכול לעשות פרוקסי ל-DB בקלות עם מעט מאוד קוד.

                        📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                        yossizY תגובה 1 תגובה אחרונה
                        1
                        • yossizY מנותק
                          yossizY מנותק
                          yossiz
                          כתב ב נערך לאחרונה על ידי
                          #19

                          @dovid הבעיה היחידה שיש לי עכשיו היא ש-vscode לא מזהה את הטייפ של require('./db').db כנראה בגלל שנותנים לו ערך רק בתוך callback, ולכן אני לא מקבל השלמה אוטומטית.

                          האמת היא שהגיע הזמן שאלמד typescript...

                          📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                          תגובה 1 תגובה אחרונה
                          1
                          • yossizY מנותק
                            yossizY מנותק
                            yossiz
                            השיב לyossiz ב נערך לאחרונה על ידי
                            #20

                            @yossiz אמר בשימוש ב-MongoDB בנוד:

                            בשפות דינאמיות אחרות יש אפשרות להגדיר פונקציה שירוץ אם קוראים לפונקציה לא קיימת על אובייקט. אם זה היה קיים ב-JS הייתי יכול לעשות פרוקסי ל-DB בקלות עם מעט מאוד קוד.

                            זה קיים!
                            https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy

                            📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                            dovidD תגובה 1 תגובה אחרונה
                            2
                            • dovidD מנותק
                              dovidD מנותק
                              dovid ניהול
                              השיב לyossiz ב נערך לאחרונה על ידי dovid
                              #21

                              @yossiz יפה מאוד! זה ממש יכול להיות שימושי להמון דברים.
                              אני כעת חושב שזה יכול לפתור את בעיית הundefined ועוד כמה רעיונות.

                              מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                              בכל נושא אפשר ליצור קשר dovid@tchumim.com

                              dovidD תגובה 1 תגובה אחרונה
                              2
                              • dovidD מנותק
                                dovidD מנותק
                                dovid ניהול
                                השיב לdovid ב נערך לאחרונה על ידי dovid
                                #22

                                @dovid אמר בשימוש ב-MongoDB בנוד:

                                אני כעת חושב שזה יכול לפתור את בעיית הundefined ועוד כמה רעיונות.

                                אני לא הייתי ברור, אני מתכוון שהרבה פעמים אני עושה שימוש באובייקט בjs כדי לעשות קיבוץ או פעולות אחרות של set (של key value). אם יש כזה דבר אפשר לעשות פוש לאיבר בלי לדעת אם הוא קיים הוא לא כאילו יש שמה כבר מערך (הפרוקסי ידאג ליצור אותו) וגם לבדוק count וכאלה דברים.
                                תוך כדי כתיבה אני חושב שזה לא כזה מציאה כי אחרי הכל זה קוד, ועם פונקציות יכולתי לעשות הכל, אני אחשוב בהמשך למה נראה לי שזה יעזור לי 🙂 .

                                מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                                בכל נושא אפשר ליצור קשר dovid@tchumim.com

                                תגובה 1 תגובה אחרונה
                                4

                                • 1
                                • 2
                                בא תתחבר לדף היומי!
                                • התחברות

                                • אין לך חשבון עדיין? הרשמה

                                • התחברו או הירשמו כדי לחפש.
                                • פוסט ראשון
                                  פוסט אחרון
                                0
                                • דף הבית
                                • קטגוריות
                                • פוסטים אחרונים
                                • משתמשים
                                • חיפוש
                                • חוקי הפורום