Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Menambah Item Baharu pada Array Bersarang dalam MongoDB menggunakan $push?

Bagaimana untuk Menambah Item Baharu pada Array Bersarang dalam MongoDB menggunakan $push?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-14 05:14:16256semak imbas

How to Add a New Item to a Nested Array in MongoDB using $push?

MongoDB: Menambah Data pada Tatasusunan Bersarang dengan $push

Dalam MongoDB, anda boleh menyimpan struktur data yang kompleks, seperti tatasusunan bersarang. Apabila anda perlu menambah elemen baharu pada tatasusunan ini, anda boleh menggunakan operator $push.

Masalah:

Anda mahu menambah item baharu pada subarray tertentu dalam sesebuah dokumen. Dokumen anda mengandungi susunan bersarang trek muzik dalam senarai main. Anda ingin menambah lagu baharu pada senarai main sedia ada.

Contoh Dokumen:

{
  "username": "erkin",
  "email": "example@email.com",
  "password": "b",
  "playlists": [
    {
      "_id": 58,
      "name": "asdsa",
      "date": "09-01-15",
      "musics": [
        {
          "name": "INNA - Cola Song (feat. J Balvin)",
          "duration": "3.00"
        }
      ]
    }
  ]
}

Keputusan yang Diingini:

{
  "username": "erkin",
  "email": "example@email.com",
  "password": "b",
  "playlists": [
    {
      "_id": 58,
      "name": "asdsa",
      "date": "09-01-15",
      "musics": [
        {
          "name": "INNA - Cola Song (feat. J Balvin)",
          "duration": "3.00"
        },
        {
          "name": "new",
          "duration": "3.00"
        }
      ]
    }
  ]
}

Penyelesaian:

Untuk menambah item baharu kepada subarray musics, anda boleh menggunakan pertanyaan kemas kini berikut:

db.collection.update(
    { "_id": ID, "playlists._id": "58"},
    { "$push": 
        {"playlists.$.musics": 
            {
                "name": "test name",
                "duration": "4.00"
            }
        }
    }
)

Dalam pertanyaan ini:

  • "_id": ID mengenal pasti dokumen yang ingin anda kemas kini.
  • "playlists._id": "58" menentukan senarai main tertentu dalam dokumen yang anda mahu tambahkan yang baharu item.
  • "$push" melakukan operasi kemas kini.
  • {"playlist.$.musics": ...} menolak item baharu ke dalam subbaris muzik.

Atas ialah kandungan terperinci Bagaimana untuk Menambah Item Baharu pada Array Bersarang dalam MongoDB menggunakan $push?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn