codebox-darkmode-logo
הרשמו בחינםהתחבר
חולמים על קריירה בהייטק?
בדקו את הקורסים שלנו:

MongoDB עם Mongoose ב-Node.js

11/24/2024

MongoDB עם Mongoose ב-Node.js

MongoDB היא אחת ממסדי הנתונים הלא-רלציוניים (NoSQL) הפופולריים ביותר כיום. היא מספקת גמישות, ביצועים גבוהים, ויכולת להתמודד עם כמויות גדולות של נתונים. בסביבת Node.js, ספריית Mongoose הופכת את העבודה עם MongoDB לקלה ונוחה יותר בזכות כלים לניהול סכמות, אימות נתונים, ושאילתות מורכבות.

מה זה Mongoose?

Mongoose היא ספריית ODM (Object Data Modeling) המיועדת ל-MongoDB. באמצעותה, אפשר להגדיר סכמות לנתונים ולבצע פעולות CRUD (יצירה, קריאה, עדכון ומחיקה) בצורה פשוטה ומסודרת.

התקנת MongoDB ו-Mongoose

כדי להתחיל לעבוד, נתקין את Mongoose באמצעות npm:

1 2 // התקנת Mongoose npm install mongoose

התקינו גם את MongoDB במחשב שלכם או השתמשו בשירות ענן כמו MongoDB Atlas.

חיבור MongoDB ל-Node.js

נתחיל בכתיבת קוד שמתחבר למסד הנתונים שלנו:

1 2 3 4 5 6 7 8 9 const mongoose = require('mongoose'); // חיבור ל-MongoDB mongoose.connect('mongodb://localhost:27017/mydatabase', { useNewUrlParser: true, useUnifiedTopology: true }) .then(() => console.log('Connected to MongoDB')) .catch((err) => console.error('Failed to connect:', err));

חשוב להחליף את "mydatabase" בשם מסד הנתונים הרצוי לכם.

יצירת סכמות ומודלים

ב-Mongoose, סכמות מאפשרות להגדיר מבנה לנתונים במסד. לדוגמה:

1 2 3 4 5 6 7 8 9 10 11 const mongoose = require('mongoose'); // הגדרת סכמת משתמש const userSchema = new mongoose.Schema({ name: { type: String, required: true }, age: { type: Number, min: 0 }, email: { type: String, unique: true } }); // יצירת מודל const User = mongoose.model('User', userSchema);

כאן יצרנו סכמת משתמש עם שדות name, age, ו-email, כולל הגדרות כמו חובה (required) וייחודיות (unique).

פעולות CRUD עם Mongoose

להלן דוגמאות לביצוע פעולות CRUD:

יצירת מסמך חדש:

1 2 3 4 5 const newUser = new User({ name: 'John Doe', age: 30, email: '[email protected]' }); newUser.save() .then(user => console.log('User Created:', user)) .catch(err => console.error('Error:', err));

קריאה (שליפת נתונים):

1 2 3 4 5 User.find(); User.findOne({ email: '[email protected]' }) .then(user => console.log('User Found:', user)) .catch(err => console.error('Error:', err));

עדכון נתונים:

1 2 3 User.updateOne({ email: '[email protected]' }, { age: 35 }) .then(result => console.log('Updated:', result)) .catch(err => console.error('Error:', err));

מחיקת נתונים:

1 2 3 User.deleteOne({ email: '[email protected]' }) .then(result => console.log('Deleted:', result)) .catch(err => console.error('Error:', err));

שימושים מתקדמים

Mongoose מציעה תכונות רבות נוספות כמו hooks, וירטואליים (virtuals), ואינדקסים. לדוגמה:

Middleware (Hooks):

1 2 3 4 userSchema.pre('save', function(next) { console.log('Saving user:', this); next(); });

לימוד נוסף

כדי להעמיק את הידע שלכם ב-MongoDB ו-Mongoose, הנה כמה מקורות שימושיים:

  • Mongoose Documentation - מסמכים רשמיים עם דוגמאות וסימוכין מלאים.
  • MongoDB Documentation - הסבר מקיף על MongoDB והפיצ'רים שלה.
  • קורס צד השרת באתר קודבוקס - ללמוד איך לעבוד עם MongoDB ומסדי נתונים אחרים.
  • לסיכום

    Mongoose הוא כלי חיוני לכל מי שעובד עם MongoDB ב-Node.js. הוא מציע שילוב של כוח וגמישות, עם תכונות שמקלות על פיתוח מהיר ומסודר. למידה ועבודה עם Mongoose תאפשר לכם לבנות אפליקציות חזקות ויעילות תוך זמן קצר.

    הצטרפו לאתר קודבוקס והתחילו ללמוד תכנות לבד.

    אין צורך בידע מקדים, לומדים לתכנת מאפס.

    פלטפורמת תכנות המוטמעת בדפדפן שתבדוק את הקוד שלכם בזמן אמת.

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

    צוברים מטבעות קודבוקס במהלך הלמידה,

    codebox-lightmode-logo
    הרשמו עם אימייל וסיסמא