Push mongodb ke array jika tidak ada

Anda dapat menggunakan metode updateOne() atau updateMany() untuk menambah, memperbarui, atau menghapus elemen larik berdasarkan kriteria yang ditentukan. Disarankan untuk menggunakan metode db.employees.updateMany({_id:5},{$set:{ skills:["Sales Tax"]}}) 3 untuk memperbarui beberapa array dalam koleksi

Untuk mendemonstrasikan operasi pemutakhiran, masukkan dokumen contoh berikut ke dalam koleksi db.employees.updateMany({_id:5},{$set:{ skills:["Sales Tax"]}}) 4

Contoh data

Salinan

db.employees.insertMany([ { _id:1, firstName: "John", lastName: "King", email: "[email protected]", salary: 5000, skills: [ "Angular", "React", "MongoDB" ] }, { _id:2, firstName: "Sachin", lastName: "T", email: "[email protected]", salary: 8000, skills: [ "Accounting", "Tax" ] }, { _id:3, firstName: "James", lastName: "Bond", email: "[email protected]", salary: 7500, skills: [ "Sales", "Marketing" ] }, { _id:4, firstName: "Steve", lastName: "J", email: "[email protected]", salary: 7000, skills: [ "Mac", "Marketing", "Product Design" ] }, { _id:5, firstName: "Kapil", lastName: "D", email: "[email protected]", salary: 4500, skills: [ "Accounting", "Tax", "Sales" ] }, { _id:6, firstName: "Amitabh", lastName: "B", email: "[email protected]", salary: 7000, skills: [ "Marketing", "Tax" ] } ])

Timpa Array

Operator db.employees.updateMany({_id:5},{$set:{ skills:["Sales Tax"]}}) 5 menimpa array yang ditentukan alih-alih menambahkan, menghapus, dan memperbarui elemen array

Contoh. Timpa Array

Salinan

db.employees.updateMany({_id:5},{$set:{ skills:["Sales Tax"]}})

Keluaran

{ acknowledged: true, insertedId: null, matchedCount: 1, modifiedCount: 1, upsertedCount: 0 }

Dalam contoh di atas, db.employees.updateMany({_id:5},{$set:{ skills:["Sales Tax"]}}) _6 menimpa larik yang ada untuk db.employees.updateMany({_id:5},{$set:{ skills:["Sales Tax"]}}) 7

Periksa Dokumen yang Diperbarui

Salinan

db.employees.find({_id:5}) _

Keluaran

{ _id: 5, firstName: 'Kapil', lastName: 'D', email: '[email protected]', salary: 4500, skills: [ 'Sales Tax' ], department: { name: 'Finance' }, location: 'USA' } _

Perbarui Elemen Array

Gunakan untuk memperbarui satu atau beberapa elemen array di MongoDB

Berikut ini akan memperbarui "Pemasaran" menjadi "Berbicara di Depan Umum" di bidang larik db.employees.updateMany({_id:5},{$set:{ skills:["Sales Tax"]}}) 8 ke semua dokumen

Contoh. Perbarui Elemen Array

Salinan

db.employees.updateMany( {skills:"Marketing"}, {$set:{"skills.$":"Public Speaking"}})

Keluaran

{ acknowledged: true, insertedId: null, matchedCount: 2, modifiedCount: 2, upsertedCount: 0 }

Dalam contoh di atas, db.employees.updateMany({_id:5},{$set:{ skills:["Sales Tax"]}}) _9 menentukan kriteria untuk menemukan semua dokumen di mana array db.employees.updateMany({_id:5},{$set:{ skills:["Sales Tax"]}}) 8 berisi elemen { acknowledged: true, insertedId: null, matchedCount: 1, modifiedCount: 1, upsertedCount: 0 } 1

Parameter kedua { acknowledged: true, insertedId: null, matchedCount: 1, modifiedCount: 1, upsertedCount: 0 } _2 menentukan nilai yang akan diperbarui menggunakan operator db.employees.updateMany({_id:5},{$set:{ skills:["Sales Tax"]}}) 5. { acknowledged: true, insertedId: null, matchedCount: 1, modifiedCount: 1, upsertedCount: 0 } _4 menentukan untuk memperbarui elemen menjadi "Public Speaking". { acknowledged: true, insertedId: null, matchedCount: 1, modifiedCount: 1, upsertedCount: 0 } _5 adalah operator larik yang bertindak sebagai placeholder untuk kecocokan pertama dari dokumen kueri pembaruan

Contoh. Perbarui Elemen Array

Salinan

db.employees.updateMany( {}, { $set: {"skills.$[element]":"GST"}}, { arrayFilters: [{ element: "Tax" }]})

Keluaran

{ acknowledged: true, insertedId: null, matchedCount: 6, modifiedCount: 2, upsertedCount: 0 }

Dalam contoh di atas, { acknowledged: true, insertedId: null, matchedCount: 1, modifiedCount: 1, upsertedCount: 0 } _6 memperbarui larik db.employees.updateMany({_id:5},{$set:{ skills:["Sales Tax"]}}) 8 jika berisi elemen "Tax" lalu memperbaruinya menjadi "GST". { acknowledged: true, insertedId: null, matchedCount: 1, modifiedCount: 1, upsertedCount: 0 } 8 menentukan untuk memperbarui elemen ke "GST", dan { acknowledged: true, insertedId: null, matchedCount: 1, modifiedCount: 1, upsertedCount: 0 } 9 menentukan kriteria untuk elemen array. db.employees.find({_id:5}) 0 menentukan bahwa elemen larik find yang nilainya adalah "Pajak". Jadi, metode db.employees.updateMany({_id:5},{$set:{ skills:["Sales Tax"]}}) _3 akan memperbarui elemen array dengan nilai yang ditentukan oleh db.employees.updateMany({_id:5},{$set:{ skills:["Sales Tax"]}}) 5 dan untuk elemen pencocokan yang ditentukan oleh { acknowledged: true, insertedId: null, matchedCount: 1, modifiedCount: 1, upsertedCount: 0 } 9

Tambahkan Elemen Baru ke Array

Gunakan operator array db.employees.find({_id:5}) _4 untuk menambahkan elemen baru ke array. Berikut ini akan menambahkan db.employees.find({_id:5}) 5 elemen di semua array

Contoh. Tambahkan Elemen Array

Salinan

db.employees.updateMany( {}, {$push:{"skills":"Sports"}}) // add "Sports" to all arrays db.employees.updateMany( {_id:3}, {$push:{"skills":"Sports"}}) // add "Sports" element to skills array where _id:3

Gunakan operator db.employees.find({_id:5}) 6 untuk menentukan beberapa elemen yang perlu ditambahkan dalam array

Contoh. Tambahkan Elemen Array

Salinan

db.employees.updateMany({_id:5},{$set:{ skills:["Sales Tax"]}}) 0

Dalam contoh di atas, db.employees.find({_id:5}) _7 menentukan array untuk menambahkan beberapa elemen

Gunakan operator db.employees.find({_id:5}) 8 untuk menambahkan elemen jika belum ada

Berikut ini akan menambahkan array db.employees.find({_id:5}) 9 ke db.employees.updateMany({_id:5},{$set:{ skills:["Sales Tax"]}}) 8 di semua dokumen jika tidak ada

Contoh. Tambahkan Elemen Jika Tidak Ada

Salinan

db.employees.updateMany({_id:5},{$set:{ skills:["Sales Tax"]}}) _1

Hapus Elemen Pertama atau Terakhir dari Array

Gunakan operator { _id: 5, firstName: 'Kapil', lastName: 'D', email: '[email protected]', salary: 4500, skills: [ 'Sales Tax' ], department: { name: 'Finance' }, location: 'USA' } _1 untuk menghapus elemen pertama atau terakhir dari array. Tentukan 1 untuk menghapus elemen terakhir dan -1 untuk menghapus elemen pertama

Bagaimana cara mendorong nilai ke dalam array di MongoDB?

Jika nilainya adalah array, $push menambahkan seluruh array sebagai elemen tunggal . Untuk menambahkan setiap elemen dari nilai secara terpisah, gunakan pengubah $each dengan $push. Sebagai contoh, lihat Menambahkan Nilai ke Array dalam Banyak Dokumen. Untuk daftar pengubah yang tersedia untuk $push , lihat Pengubah.

Bagaimana cara memperbarui array objek di MongoDB?

Untuk melakukan pembaruan pada semua elemen larik tersemat dari setiap dokumen yang cocok dengan kueri Anda, gunakan operator posisi yang difilter $[ ] menentukan elemen larik yang cocok dalam dokumen pembaruan.

Bagaimana cara memperbarui array objek bersarang di MongoDB?

Memperbarui susunan objek bersarang .
db. koleksi. .
Operator $set mengganti nilai bidang dengan nilai yang ditentukan
The filtered positional operator $[] identifies the array elements that match the arrayFilters conditions for an update operation..

Bagaimana cara menghapus elemen dari array di MongoDB?

Operator $pop . Operator $pop digunakan untuk menghapus elemen pertama atau terakhir dari sebuah array. Ini memberikan nilai -1 untuk menghapus elemen pertama dan 1 untuk menghapus elemen terakhir dari sebuah array.

Postingan terbaru

LIHAT SEMUA