Apa itu $push di mongodb?

Jika Anda memiliki kumpulan dokumen di MongoDB yang berisi array, Anda dapat menambahkan nilai baru ke array tersebut jika diperlukan

Bergantung pada kebutuhan spesifik Anda, Anda dapat menggunakan operator $push atau operator $addToSet

Operator db.products.update( { _id: 3 }, { $push: { sizes: "XL" } } )0

Misalkan kita memiliki koleksi bernama

db.products.update(
   { _id: 3 },
   { $push: { sizes: "XL" } }
)
_1 dengan dokumen-dokumen berikut

{ "_id" : 1, "product" : "Bat", "sizes" : [ "S", "M", "L" ] }
{ "_id" : 2, "product" : "Hat", "sizes" : [ "S", "L", "XL" ] }
{ "_id" : 3, "product" : "Cap", "sizes" : [ "M", "L" ] }

Dan katakanlah kita ingin menambahkan nilai ke array di dokumen 3

Kita dapat menggunakan

db.products.update(
   { _id: 3 },
   { $push: { sizes: "XL" } }
)
0 bersamaan dengan
db.products.update(
   { _id: 3 },
   { $push: { sizes: "XL" } }
)
3 untuk menambahkan nilai

db.products.update(
   { _id: 3 },
   { $push: { sizes: "XL" } }
)

Mari kita lihat kembali koleksinya untuk memverifikasi perubahannya

db.products.find()
_

Hasil

{ "_id" : 1, "product" : "Bat", "sizes" : [ "S", "M", "L" ] }
{ "_id" : 2, "product" : "Hat", "sizes" : [ "S", "L", "XL" ] }
{ "_id" : 3, "product" : "Cap", "sizes" : [ "M", "L", "XL" ] }

Kita dapat melihat bahwa nilai

db.products.update(
   { _id: 3 },
   { $push: { sizes: "XL" } }
)
_4 telah ditambahkan ke array di dokumen 3

Operator

db.products.update(
   { _id: 3 },
   { $push: { sizes: "XL" } }
)
0 juga dapat digunakan dengan berbagai pengubah, seperti
db.products.update(
   { _id: 3 },
   { $push: { sizes: "XL" } }
)
6,
db.products.update(
   { _id: 3 },
   { $push: { sizes: "XL" } }
)
7, dan
db.products.update(
   { _id: 3 },
   { $push: { sizes: "XL" } }
)
8

Anda juga dapat menambahkan beberapa nilai ke array dengan menggunakan pengubah

db.products.update(
   { _id: 3 },
   { $push: { sizes: "XL" } }
)
9

Lihat MongoDB

db.products.update(
   { _id: 3 },
   { $push: { sizes: "XL" } }
)
0 untuk contoh

Operator db.products.find()1

Operator

db.products.find()
1 bekerja dengan cara yang mirip dengan
db.products.update(
   { _id: 3 },
   { $push: { sizes: "XL" } }
)
0, kecuali untuk beberapa hal

  • Jika nilai yang Anda coba tambahkan sudah ada dalam larik, itu tidak akan ditambahkan
  • Pengubah
    db.products.update(
       { _id: 3 },
       { $push: { sizes: "XL" } }
    )
    6,
    db.products.update(
       { _id: 3 },
       { $push: { sizes: "XL" } }
    )
    7, dan
    db.products.update(
       { _id: 3 },
       { $push: { sizes: "XL" } }
    )
    8 tidak dapat digunakan dengan
    db.products.find()
    1

Misalkan koleksi kita terlihat seperti ini

{ "_id" : 1, "product" : "Bat", "sizes" : [ "S", "M", "L", "XL" ] }
{ "_id" : 2, "product" : "Hat", "sizes" : [ "S", "L", "XL" ] }
{ "_id" : 3, "product" : "Cap", "sizes" : [ "S", "M", "L", "XL" ] }

Mari masukkan beberapa nilai ke array di dokumen 2

db.products.update(
   { _id: 2 },
   { 
     $addToSet: { 
        sizes: {
           $each: [ "XXL", "XXXL" ]
        }
      } 
    }
)

Sekarang mari kita periksa koleksinya lagi

db.products.find()
_

Hasil

{ "_id" : 1, "product" : "Bat", "sizes" : [ "S", "M", "L", "XL" ] }
{ "_id" : 2, "product" : "Hat", "sizes" : [ "S", "L", "XL", "XXL", "XXXL" ] }
{ "_id" : 3, "product" : "Cap", "sizes" : [ "S", "M", "L", "XL" ] }

Kita dapat melihat bahwa kedua nilai ditambahkan ke array di dokumen 2 seperti yang diharapkan

Contoh ini menggunakan pengubah

db.products.update(
   { _id: 3 },
   { $push: { sizes: "XL" } }
)
_9, yang juga dapat Anda gunakan dengan operator
db.products.update(
   { _id: 3 },
   { $push: { sizes: "XL" } }
)
0

Saya hanya menggunakan pengubah

db.products.update(
   { _id: 3 },
   { $push: { sizes: "XL" } }
)
_9 karena saya menambahkan banyak nilai. Jika saya hanya menggunakan satu nilai, saya dapat menghilangkan pengubah
db.products.update(
   { _id: 3 },
   { $push: { sizes: "XL" } }
)
9, dan sintaksnya akan terlihat seperti contoh
db.products.update(
   { _id: 3 },
   { $push: { sizes: "XL" } }
)
0 di atas

Seperti yang disebutkan, jika nilainya sudah ada, itu tidak akan ditambahkan. Juga, dengan kedua operator, jika Anda menambahkan sebuah larik, seluruh larik akan ditambahkan sebagai nilai terpisah di dalam larik yang ada

Bagaimana cara mendorong data ke dalam array di MongoDB?

Dalam MongoDB, operator $push digunakan untuk menambahkan nilai tertentu ke array . Jika bidang yang disebutkan tidak ada dalam dokumen yang akan diperbarui, operator $push menambahkannya sebagai bidang baru dan menyertakan nilai yang disebutkan sebagai elemennya. Jika bidang pemutakhiran bukan bidang jenis larik, operasi gagal.

Bagaimana $or bekerja di MongoDB?

MongoDB menyediakan berbagai jenis operator kueri logis dan $or operator adalah salah satunya. Operator ini digunakan untuk melakukan operasi logika ATAU pada larik dua ekspresi atau lebih dan memilih atau mengambil hanya dokumen yang cocok dengan setidaknya satu ekspresi yang diberikan dalam larik.

Mengapa $Set digunakan di MongoDB?

$set menampilkan dokumen yang berisi semua bidang yang ada dari dokumen masukan dan bidang yang baru ditambahkan . Tahap $set adalah alias untuk $addFields. Kedua tahapan setara dengan tahap $project yang secara eksplisit menentukan semua bidang yang ada dalam dokumen masukan dan menambahkan bidang baru.

Bagaimana cara memunculkan array di MongoDB?

Operator $pop menghapus elemen pertama atau terakhir dari sebuah array . Berikan $pop nilai -1 untuk menghapus elemen pertama dari array dan 1 untuk menghapus elemen terakhir dalam array. Operator $pop memiliki formulir. { $pop. {