دوره‌ها / MongoDB / Data Types (Data Types)

Data Types (Data Types)

15 دقیقه Article

Data Types: انواع داده در MongoDB 📊

MongoDB از انواع داده مختلفی پشتیبانی می‌کند. بیایید مهم‌ترین آن‌ها را یاد بگیریم.

انواع داده پایه:

// String
{ name: "Ali" }

// Number (Integer یا Double)
{ age: 25 }
{ price: 99.99 }

// Boolean
{ isActive: true }

// Null
{ description: null }

// Date
{ createdAt: new Date() }
{ createdAt: ISODate("2023-01-15") }

// Array
{ tags: ["mongodb", "database", "nosql"] }

// Object (Embedded Document)
{ address: { city: "Tehran", country: "Iran" } }

انواع داده خاص MongoDB:

// ObjectId
{ _id: ObjectId("507f1f77bcf86cd799439011") }

// Binary Data
{ image: BinData(0, "base64encodeddata") }

// Regular Expression
{ pattern: /^mongodb/i }

// JavaScript Code
{ code: Code("function() { return this.age > 18; }") }

// Timestamp
{ updatedAt: Timestamp(1234567890, 1) }

// Decimal128 (برای دقت بالا در اعداد اعشاری)
{ price: NumberDecimal("99.99") }

مثال کامل:

db.products.insertOne({
  _id: ObjectId(),
  name: "Laptop",
  price: 999.99,
  inStock: true,
  tags: ["electronics", "computers"],
  specifications: {
    brand: "Dell",
    model: "XPS 15",
    ram: 16,
    storage: 512
  },
  createdAt: new Date(),
  reviews: [
    { user: "Ali", rating: 5, comment: "Great!" },
    { user: "Sara", rating: 4, comment: "Good value" }
  ]
})
💡 نکته: MongoDB از type coercion استفاده می‌کند. مثلاً اگر عدد را به صورت string ذخیره کنید، می‌توانید با عدد query کنید. اما بهتر است نوع داده را درست انتخاب کنید.
✅ یاد گرفتید: MongoDB از انواع داده مختلفی پشتیبانی می‌کند که برای ذخیره داده‌های پیچیده و انعطاف‌پذیر عالی هستند!

تمرین‌های عملی

برای تثبیت یادگیری این درس تمرین‌های زیر را حل کنید

تمرین: Data Types Easy
سوال تمرین

🎯 تمرین: استفاده از انواع Data Types

یک document با انواع مختلف data types بسازید.

پاسخ تمرین
JAVASCRIPT
db.users.insertOne({
    name: "Ali",                    // String
    age: 25,                       // Number
    isActive: true,                 // Boolean
    createdAt: new Date(),         // Date
    tags: ["developer", "designer"], // Array
    address: {                      // Object
        city: "Tehran",
        country: "Iran"
    }
})

آماده رفتن به درس بعدی هستید؟

این درس را به پایان رساندید و می‌توانید به درس بعدی بروید.