שימוש ב-MongoDB בנוד
-
@yossiz אמר בשימוש ב-MongoDB בנוד:
הפיתרון הוא לכאורה להחזיר אובייקט שיעטוף את ה-
db
. כל פונקציה שנקרא על העטיפה יעשה קודםawait
לאובייקט ה-db
האמיתי ואז יעביר את הפונקציה הלאה לאובייקט האמיתי.האם יש דרך לעשות עטיפה כזאת בלי יותר מדי boilerplate? פשוט להגיד ל-JS שכל פונקציה שאני יקרא על האובייקט לא משנה מה השם שלו יעבור דרך קוד העטיפה?
לא מבין את הבעיה
הקלאס מיד חוזר מכיל בתוכו את ה-DB
ופונקציתinsert({1:2})
יכיל בתוכו בדיקה אם ה-DB מחובר, ומחזיר תמיד פרומיז.כך תמיד עושים?!
-
@dovid אמר בשימוש ב-MongoDB בנוד:
נוד מאמצת ממש לאט את ההתקדמויות האלה
שמח שהם מאפשרים לדנו לעקוף אותם בקלות
-
@אהרן אמר בשימוש ב-MongoDB בנוד:
ופונקצית insert({1:2}) יכיל בתוכו בדיקה אם ה-DB מחובר, ומחזיר תמיד פרומיז.
הפונקציה
insert
מוגדר כבר על ה-db. לא רציתי לעבור על כל הפונקציות של ה-db ולהעתיק אותם לקלאס. בשביל זה ביקשתי משהו שחוסך boilerplate.
בשפות דינאמיות אחרות יש אפשרות להגדיר פונקציה שירוץ אם קוראים לפונקציה לא קיימת על אובייקט. אם זה היה קיים ב-JS הייתי יכול לעשות פרוקסי ל-DB בקלות עם מעט מאוד קוד. -
@yossiz אמר בשימוש ב-MongoDB בנוד:
בשפות דינאמיות אחרות יש אפשרות להגדיר פונקציה שירוץ אם קוראים לפונקציה לא קיימת על אובייקט. אם זה היה קיים ב-JS הייתי יכול לעשות פרוקסי ל-DB בקלות עם מעט מאוד קוד.
זה קיים!
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy -
@dovid אמר בשימוש ב-MongoDB בנוד:
אני כעת חושב שזה יכול לפתור את בעיית הundefined ועוד כמה רעיונות.
אני לא הייתי ברור, אני מתכוון שהרבה פעמים אני עושה שימוש באובייקט בjs כדי לעשות קיבוץ או פעולות אחרות של set (של key value). אם יש כזה דבר אפשר לעשות פוש לאיבר בלי לדעת אם הוא קיים הוא לא כאילו יש שמה כבר מערך (הפרוקסי ידאג ליצור אותו) וגם לבדוק count וכאלה דברים.
תוך כדי כתיבה אני חושב שזה לא כזה מציאה כי אחרי הכל זה קוד, ועם פונקציות יכולתי לעשות הכל, אני אחשוב בהמשך למה נראה לי שזה יעזור לי .