با عرض سلام و وقت بخیر خدمت برنامه نویسان سایت پی وی لرن، جلسه دوازدهم از آموزش های دوره MongoDB را با عنوان بروز رسانی سند در MongoDB آغاز می کنیم.این جلسه با کارکرد متد ()save در MongoDB و متد ()Update در MongoDB آشنا می شوید.
متدهای ()update و ()save در MongoDB برای به روز رسانی سند در یک مجموعه استفاده می شود.
متد ()update مقادیر موجود در سند موجود را بروز رسانی می کند در حالی که متد ()Save جایگزین سند موجود با سند منتقل شده در روش ()save می شود.
متد ()update مقادیر موجود در سندهای موجود را بروز رسانی می کند.
سینکس اصلی متد ()update به صورت زیر است :
1 | >db.COLLECTION_NAME.update(SELECTION_CRITERIA, UPDATED_DATA) |
مثال
فرض کنید مجموعه mycol دارای داده های زیر است.
1 2 3 | { "_id" : ObjectId(5983548781331adf45ec5), "title":"MongoDB Overview"} { "_id" : ObjectId(5983548781331adf45ec6), "title":"NoSQL Overview"} { "_id" : ObjectId(5983548781331adf45ec7), "title":"Tutorials Point Overview"} |
مثال زیر تایتل جدید سندها را با عنوان ‘New MongoDB Tutorial’ برای سندهایی که تایتل آنها ‘MongoDB Overview’ است تنظیم می کند.
1 2 3 4 5 | <span class="pun">></span><span class="pln">db</span><span class="pun">.</span><span class="pln">mycol</span><span class="pun">.</span><span class="pln">update</span><span class="pun">({</span><span class="str">'title'</span><span class="pun">:</span><span class="str">'MongoDB Overview'</span><span class="pun">},{</span><span class="pln">$set</span><span class="pun">:{</span><span class="str">'title'</span><span class="pun">:</span><span class="str">'New MongoDB Tutorial'</span><span class="pun">}})</span> <span class="pun">></span><span class="pln">db</span><span class="pun">.</span><span class="pln">mycol</span><span class="pun">.</span><span class="pln">find</span><span class="pun">()</span> <span class="pun">{</span> <span class="str">"_id"</span> <span class="pun">:</span> <span class="typ">ObjectId</span><span class="pun">(</span><span class="lit">5983548781331adf45ec5</span><span class="pun">),</span> <span class="str">"title"</span><span class="pun">:</span><span class="str">"New MongoDB Tutorial"</span><span class="pun">}</span> <span class="pun">{</span> <span class="str">"_id"</span> <span class="pun">:</span> <span class="typ">ObjectId</span><span class="pun">(</span><span class="lit">5983548781331adf45ec6</span><span class="pun">),</span> <span class="str">"title"</span><span class="pun">:</span><span class="str">"NoSQL Overview"</span><span class="pun">}</span> <span class="pun">{</span> <span class="str">"_id"</span> <span class="pun">:</span> <span class="typ">ObjectId</span><span class="pun">(</span><span class="lit">5983548781331adf45ec7</span><span class="pun">),</span> <span class="str">"title"</span><span class="pun">:</span><span class="str">"Tutorials Point Overview"</span><span class="pun">}</span> |
به طور پیش فرض، MongoDB فقط یک سند تک را بروز رسانی می کند. برای بروز رسانی چندین اسناد، شما باید پارامتر ‘multi’ را به درست تنظیم کنید.
1 2 | >db.mycol.update({'title':'MongoDB Overview'}, {$set:{'title':'New MongoDB Tutorial'}},{multi:true}) |
متد ()save سند موجود را با سند جدیدی که در روش ()save منتقل شده است جایگزین می کند.
سینتکس اصلی متد ()save در MongoDB در زیر نشان داده شده است :
1 | >db.COLLECTION_NAME.save({_id:ObjectId(),NEW_DATA}) |
مثال
در مثال زیر سند با آیدی_ ‘۵۹۸۳۵۴۸۷۸۱۳۳۱adf45ec5 جایگزین خواهد شد.
1 2 3 4 5 6 7 8 9 10 11 12 | >db.mycol.save( { "_id" : ObjectId(5983548781331adf45ec5), "title":"Tutorials Point New Topic", "by":"Tutorials Point" } ) >db.mycol.find() { "_id" : ObjectId(5983548781331adf45ec5), "title":"Tutorials Point New Topic", "by":"Tutorials Point"} { "_id" : ObjectId(5983548781331adf45ec6), "title":"NoSQL Overview"} { "_id" : ObjectId(5983548781331adf45ec7), "title":"Tutorials Point Overview"} > |
بروز رسانی سند در MongoDB توسط متدهای ()update و ()save صورت می پذیرد.ولی هرکدام ازین متدها نیز برای کاربرد خاصی استفاده می شوند.امیدوارم از مطالب ذکر شده بهره کافی را برده باشید.در جلسه بعدی حذف سند در MongoDB آموزش داده خواهد شد.