MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

MongoDB $pop

Di MongoDB, Anda dapat menggunakan $pop operator untuk menghapus elemen pertama atau terakhir dari array.

Gunakan $pop dalam hubungannya dengan metode seperti update() untuk memperbarui dokumen yang ditentukan dengan perubahan.

Gunakan -1 untuk menghapus elemen pertama, dan 1 untuk menghapus yang terakhir.

Contoh

Misalkan kita memiliki koleksi yang disebut products dengan dokumen sebagai berikut:

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

Hapus Elemen Pertama

Kita dapat menghapus elemen pertama dari array di dokumen 1 seperti ini:

db.products.update( 
  { _id: 1 }, 
  { $pop: { sizes: -1 } } 
)

Keluaran:

WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

Pesan itu memberi tahu kita bahwa satu dokumen cocok dan satu (yaitu dokumen yang sama) telah dimodifikasi.

Yuk intip koleksinya sekarang:

db.products.find()

Hasil:

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

Kita dapat melihat bahwa elemen pertama dari array di dokumen 1 telah dihapus.

Hapus Elemen Terakhir

Sekarang mari kita hapus elemen terakhir dari array di dokumen 2:

db.products.update( 
  { _id: 2 }, 
  { $pop: { sizes: 1 } } 
)

Keluaran:

WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

Sekarang mari kita periksa kembali koleksinya:

db.products.find()

Hasil:

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

Kita dapat melihat bahwa elemen terakhir telah dihapus dari array di dokumen 2.

Perbarui Semua Dokumen

Berikut adalah contoh yang menggunakan updateMany() metode untuk memperbarui semua dokumen:

db.products.updateMany( 
  { }, 
  { $pop: { sizes: 1 } } 
)

Keluaran:

{ "acknowledged" : true, "matchedCount" : 3, "modifiedCount" : 3 }

Dan periksa kembali koleksinya:

db.products.find()

Hasil:

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

Atau, Anda dapat menggunakan update() metode untuk memperbarui banyak dokumen dengan menentukan multi: true .


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. cara menggunakan fungsi agregat di meteor

  2. Praktik Terbaik untuk Menjalankan MongoDB dalam Cluster

  3. MongoDB $gt Aggregation Pipeline Operator

  4. Mengurutkan mongodb dengan cara yang tidak peka huruf besar-kecil

  5. WiredTiger dan pembaruan di tempat