Bagaimana cara menambahkan bidang baru di mongodb?

Artikel ini akan membahas tentang operasi

db.clothes.updateOne(
   { _id: 100 },
   { $set:
      {
        quantity: 400,
        details: { model: "2600", make: "Fashionables" },
        tags: [ "coats", "outerwear", "clothing" ]
      }
   }
)
_4 dan
db.clothes.updateOne(
   { _id: 100 },
   { $set:
      {
        quantity: 400,
        details: { model: "2600", make: "Fashionables" },
        tags: [ "coats", "outerwear", "clothing" ]
      }
   }
)
5. Selain itu, masalah penambahan bidang dalam koleksi di MongoDB juga dijelaskan secara singkat menggunakan kedua operator ini

Operator db.clothes.updateOne( { _id: 100 }, { $set: { quantity: 400, details: { model: "2600", make: "Fashionables" }, tags: [ "coats", "outerwear", "clothing" ] } } ) 4 di MongoDB

Operator

db.clothes.updateOne(
   { _id: 100 },
   { $set:
      {
        quantity: 400,
        details: { model: "2600", make: "Fashionables" },
        tags: [ "coats", "outerwear", "clothing" ]
      }
   }
)
4 mengubah nilai bidang menjadi nilai yang diberikan. Ekspresi operator
db.clothes.updateOne(
   { _id: 100 },
   { $set:
      {
        quantity: 400,
        details: { model: "2600", make: "Fashionables" },
        tags: [ "coats", "outerwear", "clothing" ]
      }
   }
)
4 terlihat seperti ini.
db.clothes.updateOne(
   { _id: 100 },
   { $set:
      {
        quantity: 400,
        details: { model: "2600", make: "Fashionables" },
        tags: [ "coats", "outerwear", "clothing" ]
      }
   }
)
_9

Gunakan notasi titik untuk menentukan

{
  _id: 100,
  quantity: 400,
  instock: true,
  reorder: false,
  details: { model: '2600', make: 'Fashionables' },
  tags: [ 'coats', 'outerwear', 'clothing' ],
  ratings: [ { by: 'Customer127', rating: 5 } ]
}
0 dalam teks tersemat atau larik

Perilaku Operator db.clothes.updateOne( { _id: 100 }, { $set: { quantity: 400, details: { model: "2600", make: "Fashionables" }, tags: [ "coats", "outerwear", "clothing" ] } } ) 4

Operator pembaruan menangani bidang dokumen dengan nama berbasis string dalam urutan leksikografis mulai dari MongoDB 5. 0. Bidang dengan nama numerik ditangani dalam urutan numerik

Jika bidang belum ada,

db.clothes.updateOne(
   { _id: 100 },
   { $set:
      {
        quantity: 400,
        details: { model: "2600", make: "Fashionables" },
        tags: [ "coats", "outerwear", "clothing" ]
      }
   }
)
4 akan membuatnya dengan nilai yang diminta, selama bidang baru tidak melanggar batasan jenis. Jika Anda memberikan jalur bertitik untuk bidang yang tidak ada,
db.clothes.updateOne(
   { _id: 100 },
   { $set:
      {
        quantity: 400,
        details: { model: "2600", make: "Fashionables" },
        tags: [ "coats", "outerwear", "clothing" ]
      }
   }
)
4 akan membuat dokumen yang disematkan sesuai kebutuhan untuk melengkapi jalur bertitik

db.clothes.updateOne(
   { _id: 100 },
   { $set:
      {
        quantity: 400,
        details: { model: "2600", make: "Fashionables" },
        tags: [ "coats", "outerwear", "clothing" ]
      }
   }
)
4 akan memperbarui atau membuat setiap bidang jika Anda menyediakan beberapa pasangan nilai bidang

Saat Anda menggunakan operator pembaruan seperti

db.clothes.updateOne(
   { _id: 100 },
   { $set:
      {
        quantity: 400,
        details: { model: "2600", make: "Fashionables" },
        tags: [ "coats", "outerwear", "clothing" ]
      }
   }
)
_4 dengan ekspresi operan kosong (
{
  _id: 100,
  quantity: 400,
  instock: true,
  reorder: false,
  details: { model: '2600', make: 'Fashionables' },
  tags: [ 'coats', 'outerwear', 'clothing' ],
  ratings: [ { by: 'Customer127', rating: 5 } ]
}
6) di MongoDB 5. 0,
{
  _id: 100,
  quantity: 400,
  instock: true,
  reorder: false,
  details: { model: '2600', make: 'Fashionables' },
  tags: [ 'coats', 'outerwear', 'clothing' ],
  ratings: [ { by: 'Customer127', rating: 5 } ]
}
_7 tidak lagi menampilkan kesalahan. Tidak ada modifikasi karena pembaruan kosong, dan tidak ada catatan
{
  _id: 100,
  quantity: 400,
  instock: true,
  reorder: false,
  details: { model: '2600', make: 'Fashionables' },
  tags: [ 'coats', 'outerwear', 'clothing' ],
  ratings: [ { by: 'Customer127', rating: 5 } ]
}
8 yang dihasilkan (artinya operasi adalah tanpa operasi)

Misalnya, mari kita buat koleksi

{
  _id: 100,
  quantity: 400,
  instock: true,
  reorder: false,
  details: { model: '2600', make: 'Fashionables' },
  tags: [ 'coats', 'outerwear', 'clothing' ],
  ratings: [ { by: 'Customer127', rating: 5 } ]
}
9

db.clothes.insertOne(
   {
     _id: 100,
     quantity: 250,
     instock: true,
     reorder: false,
     details: { model: "14RR", make: "Clothes" },
     tags: [ "apparel", "clothing" ],
     ratings: [ { by: "Customer127", rating: 5 } ]
   }
)

Tetapkan Bidang Tingkat Atas

Prosedur berikut menggunakan operator

db.clothes.updateOne(
   { _id: 100 },
   { $set:
      {
        quantity: 400,
        details: { model: "2600", make: "Fashionables" },
        tags: [ "coats", "outerwear", "clothing" ]
      }
   }
)
4 untuk mengubah nilai bidang
db.clothes.updateOne(
   { _id: 100 },
   { $set: { "details.make": "Kidz" } }
)
1,
db.clothes.updateOne(
   { _id: 100 },
   { $set: { "details.make": "Kidz" } }
)
2, dan
db.clothes.updateOne(
   { _id: 100 },
   { $set: { "details.make": "Kidz" } }
)
3 untuk dokumen yang memenuhi kriteria
db.clothes.updateOne(
   { _id: 100 },
   { $set: { "details.make": "Kidz" } }
)
4 sama dengan
db.clothes.updateOne(
   { _id: 100 },
   { $set: { "details.make": "Kidz" } }
)
5

db.clothes.updateOne(
   { _id: 100 },
   { $set:
      {
        quantity: 400,
        details: { model: "2600", make: "Fashionables" },
        tags: [ "coats", "outerwear", "clothing" ]
      }
   }
)

Operasi memperbarui berikut ini

  1. nilai
    db.clothes.updateOne(
       { _id: 100 },
       { $set: { "details.make": "Kidz" } }
    )
    
    _1 hingga
    db.clothes.updateOne(
       { _id: 100 },
       { $set: { "details.make": "Kidz" } }
    )
    
    7
  2. db.clothes.updateOne(
       { _id: 100 },
       { $set: { "details.make": "Kidz" } }
    )
    
    _2 dengan dokumen tersemat yang baru
  3. db.clothes.updateOne(
       { _id: 100 },
       { $set: { "details.make": "Kidz" } }
    )
    
    _3 bidang dengan larik baru

Dokumen sekarang memiliki nilai berikut

{
  _id: 100,
  quantity: 400,
  instock: true,
  reorder: false,
  details: { model: '2600', make: 'Fashionables' },
  tags: [ 'coats', 'outerwear', 'clothing' ],
  ratings: [ { by: 'Customer127', rating: 5 } ]
}
_

Tetapkan Bidang dalam Dokumen Tertanam

Gunakan notasi titik untuk menunjukkan

{
  _id: 100,
  quantity: 400,
  instock: true,
  reorder: false,
  details: { model: '2600', make: 'Fashionables' },
  tags: [ 'coats', 'outerwear', 'clothing' ],
  ratings: [ { by: 'Customer127', rating: 5 } ]
}
0 dalam teks tersemat atau larik. Tindakan berikut mengubah bidang
db.clothes.updateOne(
   { _id: 100 },
   { $set:
      {
        "tags.1": "rain wear",
        "ratings.0.rating": 3
      }
   }
)
1 dalam dokumen
db.clothes.updateOne(
   { _id: 100 },
   { $set: { "details.make": "Kidz" } }
)
2 untuk dokumen yang memenuhi kriteria
db.clothes.updateOne(
   { _id: 100 },
   { $set: { "details.make": "Kidz" } }
)
4 sama dengan
db.clothes.updateOne(
   { _id: 100 },
   { $set: { "details.make": "Kidz" } }
)
5

db.clothes.updateOne(
   { _id: 100 },
   { $set: { "details.make": "Kidz" } }
)

Setelah pembaruan, dokumen sekarang memiliki nilai berikut

Bagaimana cara menambahkan bidang baru di mongodb?

Atur Elemen dalam Array

Gunakan notasi titik untuk menunjukkan

{
  _id: 100,
  quantity: 400,
  instock: true,
  reorder: false,
  details: { model: '2600', make: 'Fashionables' },
  tags: [ 'coats', 'outerwear', 'clothing' ],
  ratings: [ { by: 'Customer127', rating: 5 } ]
}
0 dalam teks tersemat atau larik

Tindakan berikut mengubah nilai elemen kedua di bidang

db.clothes.updateOne(
   { _id: 100 },
   { $set: { "details.make": "Kidz" } }
)
3 dan bidang
db.clothes.updateOne(
   { _id: 100 },
   { $set:
      {
        "tags.1": "rain wear",
        "ratings.0.rating": 3
      }
   }
)
7 di elemen pertama larik
db.clothes.updateOne(
   { _id: 100 },
   { $set:
      {
        "tags.1": "rain wear",
        "ratings.0.rating": 3
      }
   }
)
7 untuk dokumen yang memenuhi kriteria
db.clothes.updateOne(
   { _id: 100 },
   { $set: { "details.make": "Kidz" } }
)
4 sama dengan
db.clothes.updateOne(
   { _id: 100 },
   { $set: { "details.make": "Kidz" } }
)
5

db.clothes.updateOne(
   { _id: 100 },
   { $set:
      {
        "tags.1": "rain wear",
        "ratings.0.rating": 3
      }
   }
)

Setelah pembaruan, dokumen sekarang memiliki nilai berikut

Set Elements in Arrays - Output

Operator db.clothes.updateOne( { _id: 100 }, { $set: { quantity: 400, details: { model: "2600", make: "Fashionables" }, tags: [ "coats", "outerwear", "clothing" ] } } ) 5 di MongoDB

Jika dokumen dimasukkan karena operasi pembaruan dengan

db.clothes.updateOne(
  { _id: 1 },
  {
     $set: { item: "banana" },
     $setOnInsert: { defaultQty: 100 }
  },
  { upsert: true }
)
2, maka
db.clothes.updateOne(
   { _id: 100 },
   { $set:
      {
        quantity: 400,
        details: { model: "2600", make: "Fashionables" },
        tags: [ "coats", "outerwear", "clothing" ]
      }
   }
)
5 menerapkan nilai yang diberikan ke bidang dalam dokumen.
db.clothes.updateOne(
   { _id: 100 },
   { $set:
      {
        quantity: 400,
        details: { model: "2600", make: "Fashionables" },
        tags: [ "coats", "outerwear", "clothing" ]
      }
   }
)
5 tidak melakukan apa pun jika tindakan pembaruan tidak menghasilkan penyisipan

Opsi

db.clothes.updateOne(
  { _id: 1 },
  {
     $set: { item: "banana" },
     $setOnInsert: { defaultQty: 100 }
  },
  { upsert: true }
)
_5 dapat ditentukan

Perilaku Operator db.clothes.updateOne( { _id: 100 }, { $set: { quantity: 400, details: { model: "2600", make: "Fashionables" }, tags: [ "coats", "outerwear", "clothing" ] } } ) 5

Operator pembaruan menangani bidang dokumen dengan nama berbasis string dalam urutan leksikografis mulai dari MongoDB 5. 0. Bidang dengan nama numerik ditangani dalam urutan numerik

Saat Anda menggunakan operator pembaruan seperti

db.clothes.updateOne(
   { _id: 100 },
   { $set:
      {
        quantity: 400,
        details: { model: "2600", make: "Fashionables" },
        tags: [ "coats", "outerwear", "clothing" ]
      }
   }
)
_5 dengan ekspresi operan kosong (
{
  _id: 100,
  quantity: 400,
  instock: true,
  reorder: false,
  details: { model: '2600', make: 'Fashionables' },
  tags: [ 'coats', 'outerwear', 'clothing' ],
  ratings: [ { by: 'Customer127', rating: 5 } ]
}
6) di MongoDB 5. 0,
{
  _id: 100,
  quantity: 400,
  instock: true,
  reorder: false,
  details: { model: '2600', make: 'Fashionables' },
  tags: [ 'coats', 'outerwear', 'clothing' ],
  ratings: [ { by: 'Customer127', rating: 5 } ]
}
_7 tidak lagi menampilkan kesalahan. Tidak ada modifikasi karena pembaruan kosong, dan tidak ada catatan
{
  _id: 100,
  quantity: 400,
  instock: true,
  reorder: false,
  details: { model: '2600', make: 'Fashionables' },
  tags: [ 'coats', 'outerwear', 'clothing' ],
  ratings: [ { by: 'Customer127', rating: 5 } ]
}
8 yang dihasilkan (artinya operasi adalah tanpa pengoperasian)

Misalnya, koleksi

{
  _id: 100,
  quantity: 400,
  instock: true,
  reorder: false,
  details: { model: '2600', make: 'Fashionables' },
  tags: [ 'coats', 'outerwear', 'clothing' ],
  ratings: [ { by: 'Customer127', rating: 5 } ]
}
_9 tidak berisi dokumen. Kami akan memasukkan dokumen baru menggunakan
{ "_id" : 1, "item" : "banana", "defaultQty" : 100 }
2 dengan parameter
db.clothes.updateOne(
  { _id: 1 },
  {
     $set: { item: "banana" },
     $setOnInsert: { defaultQty: 100 }
  },
  { upsert: true }
)
2

db.clothes.updateOne(
  { _id: 1 },
  {
     $set: { item: "banana" },
     $setOnInsert: { defaultQty: 100 }
  },
  { upsert: true }
)

{
  _id: 100,
  quantity: 400,
  instock: true,
  reorder: false,
  details: { model: '2600', make: 'Fashionables' },
  tags: [ 'coats', 'outerwear', 'clothing' ],
  ratings: [ { by: 'Customer127', rating: 5 } ]
}
0 digunakan oleh MongoDB untuk membuat dokumen baru dengan pengenal
{ "_id" : 1, "item" : "banana", "defaultQty" : 100 }
5.
db.clothes.updateOne(
   { _id: 100 },
   { $set:
      {
        quantity: 400,
        details: { model: "2600", make: "Fashionables" },
        tags: [ "coats", "outerwear", "clothing" ]
      }
   }
)
5 membuat perubahan yang diminta pada dokumen

Dokumen yang baru dimasukkan ditemukan dalam koleksi

{
  _id: 100,
  quantity: 400,
  instock: true,
  reorder: false,
  details: { model: '2600', make: 'Fashionables' },
  tags: [ 'coats', 'outerwear', 'clothing' ],
  ratings: [ { by: 'Customer127', rating: 5 } ]
}
9

{ "_id" : 1, "item" : "banana", "defaultQty" : 100 }

Ketika parameter

db.clothes.updateOne(
  { _id: 1 },
  {
     $set: { item: "banana" },
     $setOnInsert: { defaultQty: 100 }
  },
  { upsert: true }
)
5 adalah
{ "_id" : 1, "item" : "banana", "defaultQty" : 100 }
9, metode
{ "_id" : 1, "item" : "banana", "defaultQty" : 100 }
2

  1. Membuat dokumen baru,
  2. Menerapkan operasi
    db.clothes.updateOne(
       { _id: 100 },
       { $set:
          {
            quantity: 400,
            details: { model: "2600", make: "Fashionables" },
            tags: [ "coats", "outerwear", "clothing" ]
          }
       }
    )
    
    _4,
  3. Menerapkan operasi
    db.clothes.updateOne(
       { _id: 100 },
       { $set:
          {
            quantity: 400,
            details: { model: "2600", make: "Fashionables" },
            tags: [ "coats", "outerwear", "clothing" ]
          }
       }
    )
    
    _5

Jika

{ "_id" : 1, "item" : "banana", "defaultQty" : 100 }
_2 cocok dengan dokumen yang ada, MongoDB hanya menerapkan operasi
db.clothes.updateOne(
   { _id: 100 },
   { $set:
      {
        quantity: 400,
        details: { model: "2600", make: "Fashionables" },
        tags: [ "coats", "outerwear", "clothing" ]
      }
   }
)
4

Tambahkan Bidang Baru ke Dokumen dalam Koleksi MongoDB

Anda dapat menggunakan metode berikut untuk menambahkan bidang baru ke setiap dokumen dalam kumpulan di MongoDB

Contoh juga ditampilkan untuk menggunakan setiap metode dengan kumpulan tim dengan dokumen berikut

db.teams.insertOne({team: "United", position: "Defence", points: 31})
db.teams.insertOne({team: "Spurs", position: "Defence", points: 22})
db.teams.insertOne({team: "Palace", position: "Center", points: 19})
db.teams.insertOne({team: "Eagles", position: "Forward", points: 26})
db.teams.insertOne({team: "Lions", position: "Defence", points: 33})

Tambahkan Bidang Baru Tanpa Nilai

Sintaksis

db.collection.updateMany({}, {$set:{"new_field": null}})

Anda dapat menggunakan kode berikut untuk menambahkan bidang yang disebut

db.teams.insertOne({team: "United", position: "Defence", points: 31})
db.teams.insertOne({team: "Spurs", position: "Defence", points: 22})
db.teams.insertOne({team: "Palace", position: "Center", points: 19})
db.teams.insertOne({team: "Eagles", position: "Forward", points: 26})
db.teams.insertOne({team: "Lions", position: "Defence", points: 33})
9, yang nilainya merupakan gabungan dari bidang yang ada
db.collection.updateMany({}, {$set:{"new_field": null}})
0 dan
db.collection.updateMany({}, {$set:{"new_field": null}})
1

Bagaimana cara menambahkan bidang di MongoDB?

Untuk menambahkan bidang atau beberapa bidang ke dokumen tersemat (termasuk dokumen dalam larik) gunakan notasi titik . Lihat contoh. Untuk menambahkan elemen ke bidang larik yang ada dengan $addFields , gunakan dengan $concatArrays.

Bagaimana cara menambahkan bidang baru ke koleksi yang ada di Kompas MongoDB?

Tambah Bidang Baru . Nomor baris bukan bagian dari dokumen tetapi merupakan bagian dari tampilan dialog. hover over the row number in the dialog and click on the plus sign. The row number is not part of the document but is part of the dialog display.

Bagaimana cara memperbarui bidang baru di MongoDB?

Kita dapat menggunakan operator $set dan $inc untuk memperbarui bidang apa pun di MongoDB. Operator $set akan menetapkan nilai yang baru ditentukan sedangkan operator $inc akan meningkatkan nilai dengan nilai yang ditentukan.

Bagaimana cara memasukkan data secara manual di MongoDB?

Untuk memasukkan data ke koleksi MongoDB, Anda perlu menggunakan metode insert() atau save() MongoDB .