כיצד לפתח MongoDB עם JavaScript

Kyzd Lpth Mongodb M Javascript



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

npm i mongodb

הדרייבר מאפשר לנו ליצור אינטראקציה עם MongoDB מקוד ה-JavaScript שלך ולבצע פעולות שונות כמו התחברות למסד הנתונים, הכנסת הנתונים, שאילתות הנתונים ועדכון הנתונים.







דוגמה 1: פתח חיבור MongoDB עם JavaScript

התחל ביצירת הקשר עם שרת MongoDB עם JavaScript שניתן לבצע באמצעות מודול 'npm' כפי שנדון קודם לכן.



const { MongoClient } = לִדרוֹשׁ ( 'מונגודב' ) ;

const כתובת אתר = 'mongodb:// 127.0.0.1:27017 ' ;
const לָקוּחַ = חָדָשׁ MongoClient ( כתובת אתר ) ;
const dbName = 'MyDB' ;

אסינכרון פוּנקצִיָה רָאשִׁי ( ) {
לחכות ללקוח. לְחַבֵּר ( ) ;
לְנַחֵם. עֵץ ( 'התחבר לשרת בהצלחה' ) ;
const db = לָקוּחַ. db ( dbName ) ;
const אוסף = db. אוסף ( 'אנשים' ) ;

לַחֲזוֹר 'בוצע.' ;
}

רָאשִׁי ( )
. לאחר מכן ( לְנַחֵם. עֵץ )
. לתפוס ( לְנַחֵם. שְׁגִיאָה )
. סוף כל סוף ( ( ) => לָקוּחַ. סגור ( ) ) ;

אנו מייבאים תחילה את MongoClient הנדרש מהמודול 'mongodb' בקובץ 'File.js' שלנו. לאחר מכן אנו מגדירים את כתובת ה-URL לחיבור עבור שרת MongoDB (url) וניצור מופע MongoClient חדש באמצעות כתובת ה-URL שצוינה.



לאחר מכן, אנו מציינים את שם מסד הנתונים MongoDB (dbName) שישמש בחיבור. לאחר מכן, הפונקציה האסינכרונית main() מטפלת בפעולות העיקריות בשרת MongoDB. כאן, אנו מתחברים לשרת MongoDB באמצעות הקובץ await client.connect(). זוהי פעולה אסינכרונית, כך שהפונקציה נעצרת עד שהחיבור נוצר בהצלחה. אנו זוכים לראות את ההודעה המופיעה בהנחיה לאחר שהחיבור בוצע בהצלחה. אנו מקבלים הפניה למסד הנתונים עם השם שצוין ב-'dbName' באמצעות ה-client.db(dbName).





לאחר מכן, אנו מקבלים הפניה לאוסף בשם 'Persons' באמצעות ה-db.collection('Persons'). לאחר הגדרת הפונקציה main() אנו קוראים ל-main() כדי לבצע את הפעולות. אם הפונקציה main() נפתרת בהצלחה, היא מדפיסה את התוצאה (במקרה זה, זוהי מחרוזת 'בוצע') באמצעות ה-.then(console.log). אם יש שגיאה במהלך הביצוע, הוא תופס את השגיאה ומדפיס אותה באמצעות ה-.catch(console.error). לבסוף, הוא מבטיח שחיבור הלקוח MongoDB נסגר באמצעות ה-.finally(() => client.close()).

לפיכך, ההנחיה מציגה את ההודעה שבה נוצר חיבור MongoDB בקובץ JavaScript:



דוגמה 2: הכנס מסמך MongoDB עם JavaScript

כעת, לאחר שהחיבור נוצר עם שרת MongoDB, אנו יכולים להשתמש בשאילתות MongoDB עם JavaScript. כאן, אנו מיישמים את שאילתת ההוספה כדי להכניס את המסמך היחיד.

const { MongoClient } = לִדרוֹשׁ ( 'מונגודב' ) ;

const כתובת אתר = 'mongodb:// 127.0.0.1:27017 ' ;
const לָקוּחַ = חָדָשׁ MongoClient ( כתובת אתר ) ;
const dbName = 'MyDB' ;

אסינכרון פוּנקצִיָה רָאשִׁי ( ) {
const db = לָקוּחַ. db ( dbName ) ;
const אוסף = db. אוסף ( 'משתמשים' ) ;
const insertDoc =
ממתין לאיסוף. insertOne ( { שֵׁם : 'אנדרו' , גיל : 23 } ) ;
לְנַחֵם. עֵץ ( 'מסמך הוכנס =' , insertDoc ) ;
לַחֲזוֹר 'בוצע.' ;
}

רָאשִׁי ( )
. לאחר מכן ( לְנַחֵם. עֵץ )
. לתפוס ( לְנַחֵם. שְׁגִיאָה )
. סוף כל סוף ( ( ) => לָקוּחַ. סגור ( ) ) ;

אנו מגדירים את הפונקציה main() כפונקציה אסינכרונית המבצעת את פעולת הכנסת מסד הנתונים. בתוכו, אנו מתחברים לשרת MongoDB באמצעות מופע MongoClient וכתובת ה-URL. לאחר מכן, אנו ניגשים למסד הנתונים שצוין (MyDB) באמצעות ה-client.db(dbName) ומקבלים את אוסף 'משתמשים' ממסד הנתונים באמצעות db.collection('users').

לאחר מכן, אנו מכניסים מסמך עם שם השדות כ-'Andrew' וגילו כ-23 לאוסף 'משתמשים' באמצעות ה-collection.insertOne(). השיטה insertOne() מחזירה הבטחה שנפתרת עם התוצאה של ההכנסה. המסמך שנוסף מוצג באמצעות ה-console.log. לבסוף, אנו סוגרים את חיבור הלקוח MongoDB.

המסמך שהוכנס לאוסף מסד הנתונים של MongoDB הוכנס בהצלחה כפי שמוצג בפלט הבא:

דוגמה 3: מצא מסמך MongoDB עם JavaScript

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

const { MongoClient } = לִדרוֹשׁ ( 'מונגודב' ) ;

const כתובת אתר = 'mongodb:// 127.0.0.1:27017 ' ;
const לָקוּחַ = חָדָשׁ MongoClient ( כתובת אתר ) ;
const dbName = 'MyDB' ;

אסינכרון פוּנקצִיָה רָאשִׁי ( ) {
const db = לָקוּחַ. db ( dbName ) ;
const אוסף = db. אוסף ( 'משתמשים' ) ;
const findQuery = { שֵׁם : 'אנדרו' } ;
const findDoc = ממתין לאיסוף. למצוא ( findQuery ) . toArray ( ) ;
לְנַחֵם. עֵץ ( 'מסמך =' , findDoc ) ;
}

רָאשִׁי ( )
. לאחר מכן ( לְנַחֵם. עֵץ )
. לתפוס ( לְנַחֵם. שְׁגִיאָה )
. סוף כל סוף ( ( ) => לָקוּחַ. סגור ( ) ) ;

אנו מתחילים בהדגמה מהפונקציה הראשית שבה אנו מתחברים לשרת MongoDB תחילה באמצעות מופע MongoClient שנוצר וכתובת ה-URL שצוינה. לאחר מכן, אנו ניגשים למסד הנתונים של MyDB באמצעות ה-client.db(dbName) כאשר dbName הוא שם מסד הנתונים שהוגדר קודם לכן.

לאחר מכן, אנו מקבלים הפניה לאוסף 'משתמשים' ממסד הנתונים באמצעות ה-db.collection('users'). נוצר אובייקט שאילתה בשם 'findQuery' המציין שלמסמכים שיש לאחזר צריך להיות שדה השם שווה ל-'Andrew'. לאחר מכן, אנו מבצעים שאילתת 'מצא' באוסף 'משתמשים' באמצעות ה-collection.find(findQuery) שמחזיר סמן למסמכים התואמים.

מילת המפתח 'מתין' משמשת לפני collection.find() כדי להבטיח שהתוצאה תיפתר לפני שתמשיך. התוצאה של פעולת ה-find מומרת למערך של מסמכים באמצעות ה-toArray(), והמסמכים שנמצאו מאוחסנים במשתנה 'findDoc'. לאחר מכן, המסמכים נרשמים למסוף באמצעות ה-console.log.

כתוצאה מכך, המסמך שנמצא של אוסף MongoDB מוצג עם הביצוע:

דוגמה 4: עדכן מסמך MongoDB עם JavaScript

לאחר מכן, אנו מבצעים את פעולת 'עדכון' ב-JavaScript כדי לעדכן את המסמך שצוין של אוסף MongoDB.

const { MongoClient } = לִדרוֹשׁ ( 'מונגודב' ) ;

const כתובת אתר = 'mongodb:// 127.0.0.1:27017 ' ;
const לָקוּחַ = חָדָשׁ MongoClient ( כתובת אתר ) ;
const dbName = 'MyDB' ;

אסינכרון פוּנקצִיָה רָאשִׁי ( ) {
const db = לָקוּחַ. db ( dbName ) ;
const אוסף = db. אוסף ( 'משתמשים' ) ;
const updateQuery = { שֵׁם : 'אנדרו' } ;
const updateName = { $סט : { שֵׁם : 'עַצמוֹ' } } ;
const updateResult = ממתין לאיסוף. updateOne ( updateQuery , updateName ) ;
לְנַחֵם. עֵץ ( 'מסמך מעודכן =' , updateResult ) ;
לַחֲזוֹר 'בוצע' ;
}

רָאשִׁי ( )
. לאחר מכן ( לְנַחֵם. עֵץ )
. לתפוס ( לְנַחֵם. שְׁגִיאָה )
. סוף כל סוף ( ( ) => לָקוּחַ. סגור ( ) ) ;

על מנת לעדכן מסמך באוסף 'משתמשים', אנו מפעילים את הפונקציה main() . לאחר מכן אנו מכינים שאילתת 'עדכון' באמצעות { name: 'Andrew' } כדי למצוא את המסמך עם שדה השם שווה ל-'Andrew'. לאחר מכן, הגדרנו את שדה השם של המסמך המותאם ל-'Sam' באמצעות { $set: { name: 'Sam' } }.

אנו מגדירים את שאילתת 'עדכון' ואת פעולת 'עדכון' לביצוע העדכון באמצעות ה-collection.updateOne(updateQuery, updateName). השיטה updateOne() מעדכנת את המסמך הראשון שתואם לשאילתת 'עדכון' ומחזירה אובייקט המייצג את התוצאה של העדכון. המשתנה 'updateResult' מכיל את התוצאה של פעולת העדכון.

מסך הפלט הבא מציג את תוצאות השאילתה המעודכנת:

דוגמה 5: מחק מסמך MongoDB עם JavaScript

לבסוף, אנו משתמשים בשיטת המחיקה של MongoDB כדי למחוק את המסמך הקודם מ- MongoDB בתוך JavaScript.

const { MongoClient } = לִדרוֹשׁ ( 'מונגודב' ) ;

const כתובת אתר = 'mongodb:// 127.0.0.1:27017 ' ;
const לָקוּחַ = חָדָשׁ MongoClient ( כתובת אתר ) ;
const dbName = 'MyDB' ;

אסינכרון פוּנקצִיָה רָאשִׁי ( ) {
const db = לָקוּחַ. db ( dbName ) ;
const אוסף = db. אוסף ( 'משתמשים' ) ;
const deleteQuery = { שֵׁם : 'עַצמוֹ' } ;
const מחק תוצאה = ממתין לאיסוף. מחקOne ( deleteQuery ) ;
לְנַחֵם. עֵץ ( 'מסמך שנמחק =' , מחק תוצאה ) ;
לַחֲזוֹר 'בוצע' ;
}

רָאשִׁי ( )
. לאחר מכן ( לְנַחֵם. עֵץ )
. לתפוס ( לְנַחֵם. שְׁגִיאָה )
. סוף כל סוף ( ( ) => לָקוּחַ. סגור ( ) ) ;

אנו יוצרים אובייקט שאילתה 'מחק' בשם 'deleteQuery' המציין את הקריטריונים למסמכים שיימחקו. במקרה זה, הוא מחפש מסמכים שבהם שדה השם שווה ל'Sam'. לאחר הכנת שאילתת המחיקה, אנו מיישמים את פעולת המחיקה בפועל באמצעות שיטת deleteOne() של אובייקט האוסף.

אנו מעבירים את ה-'deleteQuery' כארגומנט ל-'deleteOne' שמוחק את המסמך התואם הראשון שעומד בקריטריונים שצוינו בשאילתה. המשתנה 'deleteResult' מחזיק את התוצאה של פעולת המחיקה.

המסמך שצוין נמחק מאוסף MongoDB באמצעות קובץ 'javascript':

סיכום

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