קולקציות ונתונים

קולקציות הן טבלאות הנתונים הפרטיות של הבוט שלך. בהן נוח לאחסן בקשות, הזמנות, תשובות מדיאלוגים, ניקוד במשחק, הרשמות לשיעורים — כל מה שהבוט אוסף ממשתמשים או מקבל מאינטגרציות. הקטע נמצא בתפריט השמאלי: נתונים → קולקציות.

מהי קולקציה

קולקציה מורכבת משדות (סכמה המתארת עמודות) ורשומות (שורות עם נתונים). כל רשומה היא קבוצת ערכים לפי שדות הקולקציה; פנימית היא מאוחסנת כמסמך JSON גמיש, כך שהקולקציה שורדת בשלווה הוספת שדות חדשים.

שם הקולקציה ייחודי בתוך בוט אחד ומשמש כמזהה בפעולות ריאקציות (לדוגמה, leads, orders, scores).

סוגי שדות

בעת יצירת קולקציה מגדירים רשימת שדות וסוג כל אחד:

  • text — מחרוזת (שם, email, הערה).
  • number — מספר (סכום, כמות, ניקוד).
  • bool — כן/לא (true / false).
  • datetime — תאריך ושעה.
  • json — אובייקט מקונן או מערך לערכים מורכבים.

הסוג משפיע על אופן עריכת השדה בממשק ועל האופן שבו הערך ממיר בעת שמירה. הסכמה אינה נוקשה: אם ברשומה יופיע שדה מחוץ לסכמה, הוא יישמר ויוצג כעמודה נפרדת.

יצירת קולקציה

  1. פתחו נתונים → קולקציות ולחצו הוסף.
  2. ציינו שם (באותיות לטיניות, ללא רווחים — כך קל יותר להפנות אליה בריאקציות).
  3. בלחצן שדה הוסיפו את העמודות הדרושות ובחרו את סוג כל אחת.
  4. במידת הצורך הגדירו כללי אחסון (ראו להלן) ושמרו.

רשומות: צפייה ועריכה

בכרטיס הקולקציה יש כפתור עם אייקון טבלה — הוא פותח חלון נתונים עם רשומות הקולקציה:

  • צפייה — כל השורות מוצגות ברשימה, שדה לתא, החל מהחדשות ביותר.
  • הוסף רשומה — פותח טופס לפי סכמת הקולקציה; כל שדה נערך לפי הסוג שלו (מתג עבור bool, שדה הזנת JSON עבור json וכדומה).
  • ערוך (עיפרון) — עורך שורה קיימת.
  • מחק (פח) — מוחק שורה.

רשומות מתמלאות גם אוטומטית — על ידי פעולות ריאקציות של הבוט (ראו להלן). עריכה ידנית ורישום אוטומטי פועלים על אותה קולקציה.

אחסון (retention)

כדי שהקולקציה לא תגדל ללא הגבלה, הגדירו כללי ניקוי אוטומטי:

  • שמור מקסימום רשומות — בעת חריגה מהמגבלה, הרשומות הישנות ביותר נמחקות.
  • שמור לא יותר מ-(ימים) — רשומות ישנות יותר מהתקופה שצוינה נמחקות.

הניקוי מבוצע מדי פעם על ידי תהליך ברקע; ניתן לשלב כללים.

עבודה עם נתונים מריאקציות

קולקציות קשורות ישירות לבונה הריאקציות. בפעולות ריאקציה זמינים:

  • צור רשומה — מוסיף שורה; הערכים נלקחים מתבניות (לדוגמה, {{user.id}}, {{message.text}}). ניתן להגדיר מפתח כפילויות כדי שקריאה חוזרת תעדכן את אותה שורה ולא תיצור כפולים.
  • עדכן רשומות — משנה שורות העומדות בתנאי.
  • שאל רשומות — קורא שורות להקשר הביצוע כמערך, כדי לעבור עליהן לאחר מכן.
  • מחק רשומות — מוחק שורות לפי תנאי.
  • לולאה (for-each) — עובר על המערך מההקשר ומבצע פעולות מקוננות לכל אלמנט (לדוגמה, שליחת הודעה לרשימה מהקולקציה).

כך הבוט יכול לנהל CRM, לצבור בקשות, לזקוף נקודות ולבנות דוחות ללא מסד נתונים חיצוני.

גישה ממיני-אפליקציה

ניתן לקרוא רשומות קולקציה ממיני-האפליקציה של Telegram של הבוט: ה-frontend מבקש נתוני קולקציה לפי שם עם מסננים ומגבלה. זה מאפשר להציג למשתמש את הזמנותיו, היסטוריה או טבלת ניקוד ישירות בתוך Telegram.

טיפים

  • תנו לשדות שמות מכונה קצרים (email, total, paid) — נוח יותר להכניסם לתבניות ריאקציות.
  • לרישום אידמפוטנטי (למשל, "בקשה אחת למשתמש") השתמשו במפתח כפילויות.
  • הפעילו retention עבור לוגים ונתונים זמניים כדי שהקולקציה לא תתנפח.
  • הסוג json מתאים כאשר מבנה הערך אינו קבוע מראש.