دوره‌ها / MongoDB / Arrays (Arrays)

Arrays (Arrays)

15 دقیقه Article

Arrays: آرایه‌ها در MongoDB 📋

Arrays در MongoDB برای ذخیره لیست‌هایی از مقادیر استفاده می‌شوند. MongoDB از arrays به خوبی پشتیبانی می‌کند و query های قدرتمندی برای کار با آن‌ها دارد.

ساخت Arrays:

// Array ساده
db.users.insertOne({
  name: "Ali",
  hobbies: ["reading", "coding", "music"]
})

// Array از numbers
db.products.insertOne({
  name: "Laptop",
  prices: [999.99, 899.99, 1099.99]
})

// Array از objects
db.users.insertOne({
  name: "Sara",
  addresses: [
    { type: "home", city: "Tehran" },
    { type: "work", city: "Isfahan" }
  ]
})

// Array از mixed types
db.items.insertOne({
  name: "Mixed Array",
  data: ["string", 123, true, {{ key: "value" }}]
})

Query کردن Arrays:

// پیدا کردن documents که array شامل مقدار خاصی است
db.users.find({ hobbies: "coding" })

// پیدا کردن documents که array شامل همه مقادیر است
db.users.find({ hobbies: {{ $all: ["reading", "coding"] }} })

// پیدا کردن documents که array شامل هر کدام از مقادیر است
db.users.find({ hobbies: {{ $in: ["reading", "music"] }} })

// پیدا کردن documents با array size مشخص
db.users.find({ hobbies: {{ $size: 3 }} })

// پیدا کردن documents که array شامل element با شرط خاص است
db.users.find({ "addresses.city": "Tehran" })

Array Operators:

// $push - اضافه کردن به array
db.users.updateOne(
  {{ name: "Ali" }},
  {{ $push: {{ hobbies: "swimming" }} }}
)

// $addToSet - اضافه کردن فقط اگر وجود نداشته باشد
db.users.updateOne(
  {{ name: "Ali" }},
  {{ $addToSet: {{ hobbies: "coding" }} }}
)

// $pull - حذف از array
db.users.updateOne(
  {{ name: "Ali" }},
  {{ $pull: {{ hobbies: "reading" }} }}
)

// $pop - حذف اولین یا آخرین element
db.users.updateOne(
  {{ name: "Ali" }},
  {{ $pop: {{ hobbies: 1 }} }}  // 1 = آخرین, -1 = اولین
)
✅ یاد گرفتید: Arrays در MongoDB بسیار قدرتمند هستند و MongoDB query های زیادی برای کار با آن‌ها دارد!

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

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

تمرین: Arrays Easy
سوال تمرین

🎯 تمرین: کار با Arrays

یک document با array بسازید و query بنویسید.

پاسخ تمرین
JAVASCRIPT
// Insert
db.users.insertOne({
    name: "Ali",
    hobbies: ["reading", "coding", "music"]
})

// Query
db.users.find({ hobbies: "coding" })

// با $all
db.users.find({ hobbies: { $all: ["reading", "coding"] } })

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

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