English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
MongoDB update()}و save()يستخدم هذا الطريقة لتحديث المستند إلى مجموعة. يحدث قسم update() القيم الحالية في المستند الحالي، بينما يبدل قسم save() المستند الحالي بالمستند المرسل في قسم save().
قسم تعديل() يحدث القيم الحالية في مستند المستند الحالي.
update()}النحو الأساسي للمETHOD هو كما يلي-
>db.COLLECTION_NAME.update(SELECTION_CRITERIA, UPDATED_DATA)
افترض أن مجموعة mycol تحتوي على البيانات التالية.
{"_id" : ObjectId(5983548781331adf45ec5), "title":"مقدمة MongoDB"} {"_id" : ObjectId(5983548781331adf45ec6), "title":"مقدمة NoSQL"} {"_id" : ObjectId(5983548781331adf45ec7), "title":"مقدمة التعليمات الجديدة"}
في هذا المثال، سيتم تعيين عنوان المستند الذي يحتوي على عنوان "MongoDB Overview" إلى عنوان جديد "New MongoDB Tutorial".
>db.mycol.update({'title':'MongoDB Overview'},{$set:{'title':'تعليمات MongoDB الجديدة'}}) WriteResult({"nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) >db.mycol.find() {"_id" : ObjectId(5983548781331adf45ec5), "title":"تعليمات MongoDB الجديدة"} {"_id" : ObjectId(5983548781331adf45ec6), "title":"مقدمة NoSQL"} {"_id" : ObjectId(5983548781331adf45ec7), "title":"مقدمة التعليمات الجديدة"} >
بافتراض أن MongoDB تحديث فقط مستند واحد بشكل افتراضي. إذا كنت ترغب في تحديث مستندات متعددة، يجب عليك تعيين المعاملات "multi" إلى true.
>db.mycol.update({'title':'MongoDB 简介'}, {$set:{'title':'مقدمة MongoDB الجديدة'}},{multi:true})
save()يستخدم مكتبة MongoDB() لاستبدال المستند الحالي بالمستند الجديد الذي يتم تمريره إليها.
MongoDB save()نحو نحو الجملة الأساسية للمثال التالي-
>db.COLLECTION_NAME.save({_id:ObjectId(),NEW_DATA})
في هذا المثال، سيتم استبدال المستند باستخدام _id '5983548781331adf45ec5'.
>db.mycol.save( { "_id" : ObjectId("507f191e810c19729de860ea"), "title":"موضوع التعليمات الجديدة", "by":"المقدمة الأساسية" } ) WriteResult({ "nMatched" : 0, "nUpserted" : 1, "nModified" : 0, "_id" : ObjectId("507f191e810c19729de860ea") ) >db.mycol.find() { "_id" : ObjectId("507f191e810c19729de860e6"), "title":"مقدمة جديدة إلى دروس"} "by":"Tutorials Point" { "_id" : ObjectId("507f191e810c19729de860e6"), "title":"مقدمة إلى NoSQL"} { "_id" : ObjectId("507f191e810c19729de860e6"), "title":"موضوع دروس جديدة"} >
findOneAndUpdate()يُحدث VALUES الحالية في الوثائق.
findOneAndUpdate()النحو الأساسي للمETHOD هو كما يلي-
>db.COLLECTION_NAME.findOneAndUpdate(SELECTIOIN_CRITERIA, UPDATED_DATA)
افترض أننا قمنا بإنشاء مجموعة تُدعى empDetails ووضعنا ثلاثة وثائق فيها كما يلي-
>db.empDetails.insertMany( [ { First_Name: "Radhika", Last_Name: "Sharma", Age: "26", e_mail: "[email protected]", phone: "9000012345" } { First_Name: "Rachel", Last_Name: "Christopher", Age: "27", e_mail: "[email protected]", phone: "9000054321" } { First_Name: "Fathima", Last_Name: "Sheik", Age: "24", e_mail: "[email protected]", phone: "9000054321" } ] )
مثال على تحديث قيمة العمر وبريد الالكتروني للوثيقة التي تُدعى “Radhika”.
>db.empDetails.findOneAndUpdate( {First_Name: 'Radhika'}, { $set: { Age: '30', e_mail: '[email protected]' }} ) { "_id" : ObjectId("5dd6636870fb13eec3963bf5"), "First_Name" : "Radhika" "Last_Name" : "Sharma" "Age" : "30" "e_mail" : "[email protected]", "phone" : "9000012345" }
يحديث هذا المتغير الوثيقة الواحدة التي تتطابق مع المرشح المقدم.
قواعد النحو لمتغير updateOne() هي كالتالي:
>db.COLLECTION_NAME.updateOne(<filter>, <update>)
> db.empDetails.updateOne( {First_Name: 'Radhika'}, { $set: { Age: '30', e_mail: '[email protected]' }} ) { "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 0 } >
يحديث متغير updateMany() جميع الوثائق التي تتطابق مع المرشح المقدم.
قواعد النحو لمتغير updateMany() هي كالتالي:
>db.COLLECTION_NAME.update(<filter>, <update>)
> db.empDetails.updateMany( {Age:{ $gt: "25" }}, { $set: { Age: '00' }} ) { "acknowledged" : true, "matchedCount" : 2, "modifiedCount" : 2 }
إذا كنت تستخدم الطريقة find الموضحة أدناه للبحث عن محتويات الوثيقة، يمكنك رؤية القيم المعدلة-
> db.empDetails.find() { "_id" : ObjectId("5dd6636870fb13eec3963bf5"), "First_Name" : "Radhika", "Last_Name" : "Sharma", "Age" : "00", "e_mail" : "[email protected]", "phone" : "9000012345" } { "_id" : ObjectId("5dd6636870fb13eec3963bf6"), "First_Name" : "Rachel", "Last_Name" : "Christopher", "Age" : "00", "e_mail" : "[email protected]", "phone" : "9000054321" } { "_id" : ObjectId("5dd6636870fb13eec3963bf7"), "First_Name" : "Fathima", "Last_Name" : "Sheik", "Age" : "24", "e_mail" : "[email protected]", "phone" : "9000054321" } >