پایگاه داده MongoDB یک پایگاه داده cross-platform است که به زبان ++c نوشته شده است و از جمله دیتابیس های NoSQL محسوب می شود (دیتابیس Document oriented نیز خوانده می شود).
نوعی از پایگاه داده هستند که اصطلاحا schema less خوانده می شوند و به دلیل عدم وجود schema از سرعت بسیار بالاتری نسبت به دیتابیس های SQL برخوردارند. همچنین به دلیل عدم وجود ساختار پیچیده در دیتابیس های SQL، حجم دیتابیس های NoSQL کمتر از نوع SQL می باشد.
به طور کلی می توان گفت دیتابیس های NoSQL مناسب برای ذخیره سازی داده های بدون ساختار با حجم بسیار بالا هستند.
دیتابیس یک container فیزیکی برای collection هاست. هر دیتابیس شامل فایل های مربوط به خود است.
معادل table در دیتابیس های رابطه ای هستند. collection ها شامل مجموعه ای از document های mongoDB هستند و بدون schema . هر collection می تواند فیلد های متفاوتی داشته باشد.
سند مجموعه ای از جفت key-value ها هستند. document ها اسکیمای dynamic دارند، به این معنی که document ها در یک collection می توانند شامل فیلد های متفاوت باشند و یا data type های متفاوتی داشته باشند.
دیتا مدل Embedded: در این نوع داده می توان داده های مربوط به هم را به صورت یک document در نظر گرفت.
{ _id: , Emp_ID: "10025AE336" Personal_details:{ First_Name: "Radhika", Last_Name: "Sharma", Date_Of_Birth: "1995-09-26" }, Contact: { e-mail: "radhika_sharma.123@gmail.com", phone: "9848022338" }, Address: { city: "Hyderabad", Area: "Madapur", State: "Telangana" } }
دیتا مدل :Normalized: در این نوع مدل دیتا تا حد امکان در document های جدا قرار داده می شود.
Employee:
{ _id: <ObjectId101>, Emp_ID: "10025AE336" }
Personal_details:
{ _id: <ObjectId102>, empDocID: " ObjectId101", First_Name: "Radhika", Last_Name: "Sharma", Date_Of_Birth: "1995-09-26" }
Contact:
{ _id: <ObjectId103>, empDocID: " ObjectId101", e-mail: "radhika_sharma.123@gmail.com", phone: "9848022338" }
Address:
{ _id: <ObjectId104>, empDocID: " ObjectId101", city: "Hyderabad", Area: "Madapur", State: "Telangana" }
در قسمت بعدی به شرح دستورات ابتدایی MongoDB می پردازم.