متخصصین علوم رایانه کشور

Learning MEAN Framework
متخصصین علوم رایانه کشور

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

پنجشنبه, ۱۴ آبان ۱۳۹۴، ۱۱:۴۸ ب.ظ

فرض کنید که در بانک اطلاعاتی test، قرار داریم. حال می‌خواهیم اقدام به ایجاد یک مجموعه (Collection) کرده، و در آن، یک سند (Document) درج (ایجاد) نماییم. نکته جالب این است که بر خلاف بانک‌های اطاعاتی RDBMS، که ابتدا جدول را با فیلدهای مشخص و با نوع خاص ایجاد کرده و سپس اقدام به درج (ایجاد) اطلاعات می‌کنیم، در بانک‌های اطلاعاتی NoSQL، خصوصا MongoDB، تنها کافی است که مستقیما اقدام به درج اطلاعات (سند) نماییم. با درج اولین سند، به طور خودکار مجموعه مورد نظر ایجاد می‌گردد. برای درج سند، تنها کافی است که پس از کلیدواژه db، نام مجموعه را نوشته، و پس از آن، از دستور insert، استفاده کرده و سند خود را در قالب ساختار JSON بنویسیم. در نمونه ذیل، فرض بر آن است که می‌خواهیم نام مجموعه مورد نظر، users باشد:

> db.users.insert( { "firstName" : "Dariush", "lastName" : "Tasdighi" } );
writeResult({ "nInserted" : 1 })

به همین سادگی! با دستور فوق، ابتدا مجموعه‌ای به نام users، ایجاد شده و سپس در داخل آن، یک سند، با دو فیلد به نام‌های firstName و lastName و با مقادیری که مشاهده می‌کنید، ایجاد می‌گردد.

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

اجازه دهید قبل از ادامه بحث، کمی در مورد عبارات JSON، صحبت کنیم. به طور کلی، ایجاد یک عبارات JSON، بسیار ساده است! کافی است که در ابتدا و انتهای آن، از {} استفاده کرده، و در داخل آن، فیلدها را در داخل "" قرار داده، و سپس مقدار هر فیلد را پس از (:) نوشته، و برای جدا کردن فیلدها و مقادیرشان از دیگر فیلدها از (,) استفاده نماییم. توجه داشته باشید که مقادیر متنی هر فیلد، باید در داخل "" نوشته شود و برای مقادیر عددی (اعم از صحیح و یا اعشاری) و نیز مقادیر true و false، که مقادیر Boolean می‌باشند، نیازی به نوشتن "" وجود ندارد. به مثال ذیل توجه کنید:

{ "fullName" : "Dariush Tasdighi", "age" : 42, "salary" : 120.12, "active" : true }

مجددا در مورد عبارات JSON، مطالبی خواهیم گفت. ولی در حال حاضر، کفایت می‌کند.

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

> show collections
system.indexes
users

مجددا از دستور show dbs استفاده می‌کنیم، تا ببینیم که آیا بانک اطلاعاتی test، رسما ایجاد شده است یا خیر؟

> show dbs
local 0.078GB
test  0.078GB

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

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

> db.users.find();
{ "_id" : ObjectId("563bb647ab7cbdeddbb081f8"), "firstName" : "Dariush", "lastName" : "Tasdighi" }

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

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

 

این مطلب هنوز به اتمام نرسیده است!

  • داریوش تصدیقی

نظرات  (۱)

  • بهزاد خلیلی
  • سلام استاد
    عالی بود
    همچنان منتظر قسمت های بعدی هستم.

    ارسال نظر

    ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
    شما میتوانید از این تگهای html استفاده کنید:
    <b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
    تجدید کد امنیتی