English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

NodeJS دروس أساسية

NodeJS Express.js

NodeJS تبريد&URL;

NodeJS MySql

NodeJS MongoDB

NodeJS ملف (FS)

NodeJS أخرى

إدراج مستند MongoDB Node.js

Node.js - إدراج مستند إلى مجموعة MongoDB

في هذا الدليل Node.js، سنستخدم طرق insertOne() و insertMany()، من خلال الأمثلة، سنتعلم كيفية إدراج مستند واحد أو أكثر من تطبيق Node.js إلى مجموعة MongoDB.

هذا دليل خطوة بخطوة، ويقدم مثالاً يوضح كيفية إدراج مستندات من تطبيق Node.js إلى مجموعة MongoDB.

بدء خدمة MongoDB. اتبع الأوامر التالية لبدء خدمة MongoDB

sudo service mongod start

الحصول على URL الأساسي لمخدم MongoDB. لتعلم URL الأساسي لمخدم MongoDB، يمكنك فتح الترميز و تشغيل Mongo Shell.

الترميز - Mongo Shell

arjun@nodejs:~$ mongo
إصدار Mongo Shell: v3.4.9
الاتصال بـ: mongodb://127.0.0.1:27017
إصدار خادم MongoDB: 3.4.9
تحذيرات بدء التشغيل للخادم: 
2017-10-29T18:15:36.110+0530 I STORAGE [initandlisten]

عند بدء تشغيل Mongo Shell، فإنه يعكس URL الأساسي لـMongoDB.

mongodb://127.0.0.1:27017

إعداد URL الكامل. أضف اسم قاعدة البيانات التي تريد الاتصال بها (مثل newdb) إلى URL الأساسي.

mongodb://127.0.0.1:27017/newdb

إنشاء MongoClient.

var MongoClient = require('mongodb').MongoClient;

الاتصال بـMongoDB Server باستخدام URL المساعد.

MongoClient.connect(url, <callback_function>);

بمجرد إكمال محاولة MongoClient لإنشاء اتصال، سيتم إرسال وظيفة الرد كمعامل مع خطأ وظيفة الرد obj db.

إذا كانت الاتصال ناجحًا، فإن obj db يشير إلى قاعدة البيانات newdb.

إدراج المستند في مجموعة MongoDB المحددة. إليك لغة البرمجة من Node.js لإدراج المستند في مجموعة MongoDB باستخدام طرق insertOne() و insertMany().

insertOne()

db.collection(<collection_name>).insertOne(<document>, <callback_function>)

insertMany()

db.collection(<collection_name>).insertMany(<documents_array>, <callback_function>)

 شرح المعلمات:

  • <اسم_المجموعة> - الاسم الذي سنقوم بإنشاء مجموعة MongoDB جديدة به

  • <مستند> - يجب إدراجها في مستندMongoDB Collection الواحد

  • <document_array>  -  قائمة المستندات التي سيتم إدراجها في مجموعة MongoDB Collection

  • <callback_function>   - بعد أن يحاول Node إنشاء المجموعة وتهيئة النتائج، سيتم استدعاء هذه الوظيفة التفاعلية Node.js. وظيفة التفاعل تأخذ الخطأ والمسجل كمعاملين.

insertOne()–برنامج نموذجي Node.js

 // نحن نقوم بإنشاء مجموعة "المستخدمين" في قاعدة بيانات newdb
var url = "mongodb://localhost:27017/newdb"; 
 
// إنشاء عميل إلى mongodb
var MongoClient = require('mongodb').MongoClient; 
 
// جعل العميل يتصل بخدمة mongo
MongoClient.connect(url, function(err, db) { 
    if (err) throw err; 
    // db يشير إلى newdb
    console.log("Shifted to "+db.databaseName+" database"); 
 
    // ملفات للإدراج
    var doc = { name: "Roshan", age: "22" }; 
    
    // استخدام insertOne لضمان مستند في مجموعة "المستخدمين"
    db.collection("users").insertOne(doc, function(err, res) { 
        if (err) throw err; 
        console.log("Document inserted"); 
        // إغلاق الاتصال بالـ db عند الانتهاء
        db.close(); 
    }); 
 });

نتائج الخروج

$ node node-js-mongodb-insert-document.js
الانتقال إلى قاعدة بيانات newdb الجديدة
Document inserted

Mongo Shell

> use newdb
switched to db newdb
> show collections
users
> db.users.find({});
{"_id" : "ObjectId(5a127729a415612642e3d6ad)", "name" : "Roshan", "age" : "22"}
>

insertMany() – برنامج نموذجي Node.js

 // نحن نقوم بإنشاء مجموعة "المستخدمين" في قاعدة بيانات newdb
var url = "mongodb://localhost:27017/newdb"; 
 
// إنشاء عميل إلى mongodb
var MongoClient = require('mongodb').MongoClient; 
 
// جعل العميل يتصل بخدمة mongo
MongoClient.connect(url, function(err, db) { 
    if (err) throw err; 
    // db يشير إلى newdb
    console.log("Shifted to "+db.databaseName+" database"); 
 
    // ملفات للإدراج
    var docs = [{ name: "Udat", age: "21" }, 
                { name: "Karthik", age: "24" }, 
                { name: "Anil", age: "23" }]; 
    
    // استخدام insertOne لضمان العديد من المستندات في مجموعة "المستخدمين"
    db.collection("users").insertMany(docs, function(err, res) {}} 
        if (err) throw err; 
        console.log(res.insertedCount+" مستندات إدراج"); 
        // إغلاق الاتصال بالـ db عند الانتهاء
        db.close(); 
    }); 
 });

نتائج الخروج

$ node node-js-mongodb-insert-many-documents.js
الانتقال إلى قاعدة بيانات newdb الجديدة
3 مستندات إدراج

Mongo Shell

> db.users.find({});
{"_id" : "ObjectId(5a127729a415612642e3d6ad)", "name" : "Roshan", "age" : "22"}
{"_id" : "ObjectId(5a1278efecc5062794f4ed8d)", "name" : "Udat", "age" : "21"}
{"_id" : "ObjectId(5a1278efecc5062794f4ed8e)", "name" : "Karthik", "age" : "24"}
{"_id" : "ObjectId(5a1278efecc5062794f4ed8f)", "name" : "Anil", "age" : "23"}
>

الإدخال الأول يأتي من المثال الأول، وتم إدراج الثلاثة المتبقية مع هذا المثال.

في هذا درس Node.js MongoDB:  Node.js - إدراج مستندات (مستندات) في مجموعة MongoDB، تعلمنا كيفية استخدام مكتبة mongodb لتحديد insertOne() و insertMany() في تطبيقات Node.js لوضع مستندات واحدة أو أكثر في مجموعة MongoDB. في درسنا التالي - البحث في MongoDB باستخدام Node.js، سنتعلم كيفية استعلام المستندات من مجموعة MongoDB.