رفتن به نوشته‌ها

دسته: MongoDB (مونگو دی‌بی)

فصل جدید؛ نگاهی عمیق‌تر به عملیات UPDATE در MongoDB

در فصل های قبل به طور خلاصه برخی از دستورات UPDATE را بررسی کردیم اما در این فصل می خواهیم به جزئیات ریز آن ها بپردازیم. بیایید با مرورگر بر دستورات updateOne و updateMany شروع کنیم. در این فصل با همان پایگاه داده ی user شروع می کنیم که چند اطلاعات زیر را در خود داشت. فرض کنید بخواهیم pooya را update کنیم. راه های مختلفی برای انجام این کار وجود دارد اما کلیت کار در دو مرحله انجام می شود: اول باید کاربر را شناسایی و پیدا کنیم، سپس باید بگوییم چه چیزی تغییر کند. برای شناسایی کاربر می توانید از هر چیزی استفاده کنید اما از آنجایی که استفاده از id معمولا روش شناخته شده تری است من از id استفاده می کنم. سوال بعدی اینجاست که از چه دستوری برای update کردن اطلاعات استفاده کنیم. ما دو دستور اصلی updateOne و updateMany را داریم که تفاوت آن ها بسیار ساده است: دستور updateOne اولین عنصری را که بر اساس شرط شما پیدا کند تغییر می دهد حتی اگر چندین عنصر با شرط ذکر شده پیدا شوند (همان مفهوم first match) اما updateMany تمام عناصری که با شرط شما پیدا شوند را ویرایش خواهد کرد. البته در هر جایی از برنامه که یک فیلد دارید نیز می توانید از updateMany استفاده کنید و اینطور نیست که حتما باید چند سند داشته باشید تا از آن استفاده نمایید. updateMany یعنی یک یا بیشتر ولی updateOne یعنی فقط یکی!