Dariush Tasdighi - داریوش تصدیقی
Dariush Tasdighi - داریوش تصدیقی
خواندن ۴ دقیقه·۵ سال پیش

آموزش MongoDB - قسمت چهارم

نکته مهم: این مقاله به مرور زمان، ویرایش و یا تکمیل می‌شود!
در صورتی که با مشکل تایپی، دستوری و یا مفهومی در این مقاله برخورد کردید، از شما دوست عزیز و گرامی، تقاضا می‌کنم که مرا مطلع کرده، تا نسبت به تصحیح و تکمیل آن در اسرع وقت اقدام نمایم.
با کمال تشکر داریوش تصدیقی
نسخه ۱.۲

ابتدا وارد بانک اطلاعاتی test می‌شویم، فارغ از این‌که این بانک اطلاعاتی واقعا وجود دارد یا خیر! برای این منظور از دستور ذیل استفاده می‌کنیم:

use test switched to db test db test

حال می‌خواهیم در بانک اطلاعاتی test، اقدام به ایجاد یک مجموعه (Collection) کرده، و در داخل آن، یک سند (Document) درج (ایجاد) نماییم.

در آموزش‌های قبلی، توضیح دادیم که بر خلاف بانک‌های اطاعاتی RDBMS، که ابتدا بانک اطلاعاتی و سپس جدول را با فیلدهای مشخص و البته با نوع (Type) مورد نظر ایجاد کرده و سپس اقدام به درج (ایجاد) رکورد می‌کنیم، در بانک‌های اطلاعاتی NoSQL، خصوصا MongoDB، تنها کافی است که ابتدا وارد یک بانک‌اطلاعاتی شده (هر چند که هنوز وجود نداشته باشد) و سپس اقدام به درج (ایجاد) یک سند می‌کنیم. با درج اولین سند، به طور خودکار، ابتدا بانک‌اطلاعاتی و سپس مجموعه مورد نظر ایجاد می‌گردد!

درج یک سند و ایجاد مجموعه در سرویس MongoDB

برای درج یک سند، تنها کافی است که پس از کلمه db، نام مجموعه مورد نظر را نوشته، و پس از آن، از دستور insert، استفاده کرده و سند خود را در قالب JSON وارد نماییم.

در نمونه ذیل، فرض بر آن است که می‌خواهیم نام مجموعه، users باشد:

db.users.insert( { &quotfirstName&quot : &quotDariush&quot, &quotlastName&quot : &quotTasdighi&quot } );

نتیجه اجرای دستور فوق:

writeResult({ &quotnInserted&quot : 1 })

به همین سادگی!

پس از اجرای دستور فوق، ابتدا بانک اطلاعاتی test، و سپس مجموعه users و در ادامه یک سند با دو فیلد در داخل آن مجموعه ایجاد می‌گردد.

توجه: عبارتی که به عنوان پارامتر ورودی تابع insert، نوشته شده است، یک عبارت JSON می‌باشد!

نکاتی در خصوص عبارت JSON

ایجاد یک عبارات JSON، بسیار ساده است!

یک عبارت JSON می‌تواند به یکی از دو صورت ذیل تعریف شود:

  • یا عبارت JSON (از همان ابتدا) مشخص‌کننده یک شیء می‌باشد، که در این صورت کل عبارت بین { } (آکولاد باز و بسته) نوشته می‌شود.
  • یا عبارت JSON (از همان ابتدا) مشخص‌کننده یک مجموعه (آرایه) می‌باشد، که در این صورت کل عبارت بین [] (کروشه باز و بسته) نوشته می‌شود.

یک شیء JSON، چیزی بیش از یک سری Key, Value نمی‌باشد. باید دقت داشته باشیم که بر خلاف اشیاء JavaScript (که البته بسیار به عبارات JSON شبیه می‌باشند)، باید کلمات Key، بین "" (دابل کوتیشن باز و بسته) نوشته شود.

بعد از Key، و قبل از Value، همیشه از : (کالون) استفاده می‌شود.

بین Key, Value ها، باید , (کاما) نوشته شود.

در صورتی که Value، یک متن باشد، باید بین "" (دابل کوتیشن باز و بسته) نوشته شود.

در صورتی که Value، یک Boolean باشد، می‌تواند فقط یکی از دو مقدار true و یا false را به خودش اختصاص دهد. دقت داشته باشیم که دستورات و مقادیر از پیش تعریف شده JavaScript از قانون Case Sensitive تبعیت می‌کنند، لذا نسبت به بزرگ و کوچک نوشتن آن‌ها حساس می‌باشد.

در صورتی که Value، یک عدد باشد، بدون هیچ پیشوند و پسوندی (بدون "") نوشته می‌شود.

در صورتی که Value، نال (null) باشد، به همان شکل null نوشته می‌شود.

نکته: Value می‌تواند خودش یک شیء یا یک آرایه از هر چیزی باشد و به صورتی تو در تو (Nested) نوشته شود.

یک نمونه از عبارت JSON

{ &quotfullName&quot : &quotDariush Tasdighi&quot, &quotage&quot : 47, &quotsalary&quot : 100.20, &quotactive&quot : true, &quotjob&quot: null, &quotfavoriteColors&quot: [ &quotRed&quot, &quotGreen&quot ] }

با استفاده از دستور ذیل، خواهیم دید که به طور رسمی بانک اطلاعاتی تست ایجاد شده است:

show databases

نتیجه اجرای دستور فوق:

admin 0.000GB config 0.000GB local 0.000GB test 0.000GB

با استفاده از دستور ذیل، فهرست مجموعه‌های موجود در بانک‌اطلاعاتی test را مشاهده خواهیم کرد، و خواهیم دید که مجموعه users اضافه شده است:

show collections

نتیجه اجرای دستور فوق:

users

همانگونه که در مقاله‌های قبل ادعا کردیم، با ایجاد اولین سند، به طور خودکار، بانک‌اطلاعاتی، مجموعه مورد نظر و سند ایجاد می‌گردد!

چگونه می‌توانیم فهرست اسناد یک مجموعه را مشاهده نماییم؟

با استفاده از دستور find می‌توانیم، فهرست اسناد (اطلاعات) یک مجموعه را مشاهده نماییم:

db.users.find();

نتیجه اجرای دستور فوق:

{ &quot_id&quot : ObjectId(&quot563bb647ab7cbdeddbb081f8&quot), &quotfirstName&quot : &quotDariush&quot, &quotlastName&quot : &quotTasdighi&quot }

توجه: دستور find، آن هم به شکل فوق، دقیقا معادل دستور SELECT * FROM users در SQL می‌باشد!

توجه: همانگونه که مشاهده می‌شود، MongoDB، پس از درج (ایجاد) هر سند، به طور خودکار، یک فیلد به نام id_ با مقداری تصادفی و کاملا منحصر به فرد، ایجاد می‌کند!

توجه: در MongoDB، به تبعیت از JavaScript، رسم بر آن است که تمامی اسامی مربوط به بانک‌های اطلاعاتی، مجموعه‌ها، فیلدها و غیره، به صورت CamelCase نوشته شوند! (یعنی کلمه اول همه حروف آن‌ها کوچک، و کلمات بعد، حرف اول آن‌ها بزرگ و بقیه حروف آن‌ها کوچک نوشته شوند)

پایان

mongodbinsertfindjson
محقق، معمار، مشاور، مدرس و برنامه‌نویس حوزه فن‌آوری اطلاعات - تحلیل‌گر و فعال بازار بورس و سرمایه
شاید از این پست‌ها خوشتان بیاید