دوره‌ها / MongoDB / INSERT - Create (INSERT - Create)

INSERT - Create (INSERT - Create)

15 دقیقه Article

INSERT - Create: اضافه کردن داده 📥

INSERT عملیات Create در CRUD است. در MongoDB، از insertOne() و insertMany() برای اضافه کردن documents استفاده می‌کنیم.

insertOne() - اضافه کردن یک Document:

// Insert یک document
db.users.insertOne({
  name: "Ali",
  email: "ali@example.com",
  age: 25
})

// نتیجه:
// {{
//   acknowledged: true,
//   insertedId: ObjectId("507f1f77bcf86cd799439011")
// }}

// Insert با _id مشخص
db.users.insertOne({
  _id: "user001",
  name: "Sara",
  email: "sara@example.com"
})

insertMany() - اضافه کردن چند Document:

// Insert چند document
db.users.insertMany([
  { name: "Ali", age: 25, city: "Tehran" },
  { name: "Sara", age: 30, city: "Isfahan" },
  { name: "John", age: 28, city: "Tehran" }
])

// با ordered: false (اگر یکی fail شود، بقیه ادامه می‌یابند)
db.users.insertMany([
  { _id: 1, name: "Ali" },
  { _id: 1, name: "Sara" },  // خطا: duplicate _id
  { _id: 2, name: "John" }
], { ordered: false })

مثال عملی:

// Insert محصولات
db.products.insertMany([
  {
    name: "Laptop",
    price: 999.99,
    category: "Electronics",
    inStock: true,
    tags: ["computer", "tech"]
  },
  {
    name: "Book",
    price: 19.99,
    category: "Education",
    inStock: true,
    tags: ["reading", "learning"]
  },
  {
    name: "Mouse",
    price: 29.99,
    category: "Electronics",
    inStock: false,
    tags: ["computer", "accessory"]
  }
])
💡 نکته: اگر document با _id تکراری insert کنید، MongoDB خطا می‌دهد. برای جلوگیری از این، می‌توانید از upsert استفاده کنید که بعداً یاد می‌گیریم.
✅ یاد گرفتید: با insertOne() و insertMany() می‌توانید documents را به MongoDB اضافه کنید!

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

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

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

🎯 تمرین: Insert Documents

سه user جدید با insertMany اضافه کنید.

پاسخ تمرین
JAVASCRIPT
db.users.insertMany([
    { name: "Ali", age: 25, email: "ali@example.com" },
    { name: "Reza", age: 30, email: "reza@example.com" },
    { name: "Hassan", age: 28, email: "hassan@example.com" }
])

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

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