Arrays (Arrays)
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"] } })
آماده رفتن به درس بعدی هستید؟
این درس را به پایان رساندید و میتوانید به درس بعدی بروید.