Apa bidang array di mongodb?

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

Apa itu bidang array?

Bidang larik terdiri dari kumpulan bidang dengan jenis yang sama . Jenis bidang dapat berupa skalar (misalnya, float, string), atau non-skalar (sebuah ADT), tetapi bidang array dari array tidak diizinkan. Properti SparseArrays dari TDataSet menentukan apakah suatu Data unik.

Apa itu array dan objek di MongoDB?

Dalam database MongoDB, data disimpan dalam koleksi dan koleksi memiliki dokumen. Dokumen memiliki bidang dan nilai, seperti di JSON. Jenis bidang termasuk jenis skalar ( string , number , date , dll. ) dan tipe komposit ( larik dan objek ).

Bagaimana cara mendapatkan nilai array di MongoDB?

Untuk mencari larik objek di MongoDB, Anda dapat menggunakan operator $elemMatch . Operator ini memungkinkan kita untuk mencari lebih dari satu komponen dari sebuah objek array.

Bisakah kita menggunakan array di MongoDB?

Salah satu manfaat model skema kaya MongoDB adalah kemampuan untuk menyimpan array sebagai nilai kolom dokumen . Menyimpan array sebagai nilai bidang memungkinkan Anda memodelkan hubungan satu-ke-banyak atau banyak-ke-banyak dalam satu dokumen, alih-alih di seluruh koleksi terpisah seperti yang mungkin Anda lakukan dalam database relasional.