MongoDB #7
اندازه‌ی قلم متن
تخمین مدت زمان مطالعه‌ی مطلب: دو دقیقه

انوع داده‌ها در MongoDB
MongoDB انواع داده‌هایی را که در زیر لیست شده اند، پشتیبانی می‌کند:
  • String: این نوع پرکاربردترین نوع داده برای ذخیره اطلاعات است. رشته در MongoDB باید بصورت یونیکد (utf-8) معتبر باشد.
  • Integer: این نوع برای ذخیره کردن یک مقدار عددی استفاده می‌شود. Integer بسته به نوع سرور می‌تواند 32 یا 64 بیت باشد.
  • Boolean: این نوع برای ذخیره کردن یک مقدار بولی (true/false) استفاده می‌شود.
  • Double: این نوع برای مقادیر با ممیز شناور استفاده می‌شود.
  • کلیدهای Min/Max: این نوع برای مقایسه یک مقدار با کمترین یا بیشترین عناصر BSON استفاده می‌شود.
  • Array: این نوع برای ذخیره آرایه‌ها یا لیست یا چندین مقدار در یک کلید استفاده می‌شود.
  • Timestamp: این نوع می‌تواند برای ضبط زمان تغییرات (مثلا وقتی یک سند درج می‌شود یا تغییر می‌کند) مفید باشد.
  • Object: این نوع برای سندهای توکار استفاده می‌شود.
  • Null: این نوع برای ذخیره مقدار تهی (Null) استفاده می‌شود.
  • Symbol: این نوع بطور یکسان برای ذخیره رشته استفاده می‌شود، اما عموما برای زبان‌هایی که از یک نوع نماد (Symbol) مشخص استفاده می‌کنند تعبیه شده است.
  • Date: این نوع برای ذخیره تاریخ یا زمان جاری به فرمت زمان در یونیکس (UNIX) استفاده می‌شود. با ساخت یک شی از نوع Date و ارسال روز، ماه و سال به آن می‌توانید تاریخ مشخص خود را داشته باشید.
  • Object ID: ای نوع برای ذخیره سازی شناسه سند استفاه می‌شود.
  • Binary Data: این نوع برای ذخیره سازی داده باینری استفاده می‌شود.
  • Code: این نوع برای ذخیره سازی کد جاوا اسکریپت داخل سند استفاده می‌شود.
  • Regular Expression: این نوع برای ذخیره سازی عبارت باقاعده استفاده می‌شود.

درج سند در MongoDB
متد ()Insert
برای درج داده در یک مجموعه نیاز است تا از متد ()insert یا ()save در MongoDB استفاده کنید.

گرامر
گرامر پایه دستور ()insert به شکل زیر است:
>db.COLLECTION_NAME.insert(document)
مثال
>db.mycol.insert({
   _id: ObjectId(7df78ad8902c),
   title: 'MongoDB Overview', 
   description: 'MongoDB is no sql database',
   by: 'tutorials point',
   url: 'http://www.tutorialspoint.com',
   tags: ['mongodb', 'database', 'NoSQL'],
   likes: 100
})
در اینجا mycol نام مجموعه‌ی ما است. اگر مجموعه از قبل در پایگاه داده موجود نباشد، MongoDB این مجموعه را خواهد ساخت؛ سپس سند را داخل آن درج خواهد کرد.
در درج این سند، اگر پارامتر _id را مشخص نکنید، MongoDB یک ObjectId یکتا را به این سند اختصاص می‌دهد.
برای درج چند سند در یک کوئری می‌توانید آرایه ای از سندها را به دستور ()insert پاس دهید.

مثال
>db.post.insert([
{
   title: 'MongoDB Overview', 
   description: 'MongoDB is no sql database',
   by: 'tutorials point',
   url: 'http://www.tutorialspoint.com',
   tags: ['mongodb', 'database', 'NoSQL'],
   likes: 100
},
{
   title: 'NoSQL Database', 
   description: 'NoSQL database doesn't have tables',
   by: 'tutorials point',
   url: 'http://www.tutorialspoint.com',
   tags: ['mongodb', 'database', 'NoSQL'],
   likes: 20, 
   comments: [
      {
         user:'user1',
         message: 'My first comment',
         dateCreated: new Date(2013,11,10,2,35),
         like: 0 
      }
   ]
}
])
برای درج سند می‌توانید از (db.post.save(document نیز استفاده کنید. اگر پارامتر _id را در سند مشخص نکنید، متد ()save مانند متد ()insert عمل خواهد کرد. اگر پارامتر _id را مشخص کنید، مقدار آن در سند، جایگزین مقدار پیش فرض _id می‌شود.