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

Sisipan MongoDB()

Di MongoDB db.collection.insert() metode memasukkan dokumen atau dokumen ke dalam koleksi.

collection bagian adalah nama koleksi untuk memasukkan dokumen ke dalamnya.

Contoh

Berikut ini contoh penggunaan db.collection.insert() untuk memasukkan beberapa dokumen ke dalam koleksi yang disebut pets :

db.pets.insert([
    { _id: 1, name: "Wag", type: "Dog" },
    { _id: 2, name: "Bark", type: "Dog" },
    { _id: 3, name: "Meow", type: "Cat" }
    ])

Hasil:

BulkWriteResult({
	"writeErrors" : [ ],
	"writeConcernErrors" : [ ],
	"nInserted" : 3,
	"nUpserted" : 0,
	"nMatched" : 0,
	"nModified" : 0,
	"nRemoved" : 0,
	"upserted" : [ ]
})

db.collection.insert() metode mengembalikan objek yang berisi status operasi penyisipan.

Objek yang dikembalikan tergantung pada apakah satu dokumen dimasukkan atau beberapa dokumen.

  • Ketika satu dokumen dimasukkan, ia mengembalikan WriteResult objek.
  • Ketika sebuah larik dokumen dimasukkan, ia mengembalikan BulkWriteResult objek.

Kita dapat melihat bahwa contoh di atas mengembalikan BulkWriteResult obyek. Ini karena kami menambahkan array dokumen. Itu akan melakukan ini bahkan jika array hanya berisi satu elemen.

Sekarang jika kita menggunakan db.collection.find() untuk melihat koleksi, kita akan melihat dokumen yang baru ditambahkan.

db.pets.find()

Hasil:

{ "_id" : 1, "name" : "Wag", "type" : "Dog" }
{ "_id" : 2, "name" : "Bark", "type" : "Dog" }
{ "_id" : 3, "name" : "Meow", "type" : "Cat" }

Dalam hal ini, tiga dokumen kami adalah satu-satunya yang ada dalam koleksi, jadi hanya dokumen-dokumen ini yang dikembalikan.

Namun, jika koleksinya besar, kami dapat menggunakan ID dokumen untuk mempersempit hasilnya menjadi hanya dokumen yang kami minati.

db.pets.find({_id: {$in: [1,2,3]}})

Hasil:

{ "_id" : 1, "name" : "Wag", "type" : "Dog" }
{ "_id" : 2, "name" : "Bark", "type" : "Dog" }
{ "_id" : 3, "name" : "Meow", "type" : "Cat" }

Bagaimana jika Koleksi Tidak Ada?

Jika koleksi tidak ada, itu dibuat, dan dokumen ditambahkan ke dalamnya.

Jika koleksi sudah ada, maka dokumen cukup ditambahkan ke dalamnya (asalkan _id nilai tidak bertentangan dengan nilai yang sudah ada).

Saat saya membuat contoh ini, koleksinya tidak ada, jadi operasi penyisipan yang membuatnya.

_id Bidang

_id bidang adalah bidang pengenal unik di MongoDB.

Seperti yang ditunjukkan pada contoh sebelumnya, Anda dapat memberikan _id Anda sendiri lapangan dalam dokumen. Jika ya, maka nilainya harus unik di dalam koleksi. Ini karena _id your Anda kolom akan digunakan sebagai pengidentifikasi unik dokumen.

Berikut adalah contoh penyisipan dokumen tanpa memberikan _id bidang.

db.pets.insert(
    { name: "Bruce", type: "Bat" }
    )

Hasil:

WriteResult({ "nInserted" : 1 })

Perhatikan bahwa dalam kasus ini metode mengembalikan WriteResult objek alih-alih BulkWriteResult obyek. Ini karena kami menyisipkan satu dokumen (dan bukan dalam array).

Sekarang mari kita lihat lagi koleksinya.

db.pets.find()

Hasil:

{ "_id" : 1, "name" : "Wag", "type" : "Dog" }
{ "_id" : 2, "name" : "Bark", "type" : "Dog" }
{ "_id" : 3, "name" : "Meow", "type" : "Cat" }
{ "_id" : ObjectId("5fe323d837b49e0faf1af218"), "name" : "Bruce", "type" : "Bat" }

Kita dapat melihat bahwa dokumen baru kita termasuk dalam koleksi, dan memiliki _id bidang dengan nilai yang dihasilkan secara otomatis.

Yang ordered Parameter

db.collection.insert() metode juga menerima ordered parameter. Ini adalah parameter boolean dengan nilai default true .

ordered parameter menentukan apakah operasi penyisipan harus diurutkan atau tidak.

Jika ordered disetel ke false , dokumen disisipkan dalam format yang tidak berurutan dan dapat disusun ulang oleh mongod untuk meningkatkan kinerja.

Dengan sisipan yang dipesan, jika terjadi kesalahan selama penyisipan salah satu dokumen, MongoDB mengembalikan kesalahan tanpa memproses dokumen yang tersisa dalam larik.

Dengan sisipan yang tidak berurutan, jika terjadi kesalahan selama penyisipan salah satu dokumen, MongoDB terus memasukkan dokumen yang tersisa ke dalam larik.

Informasi Lebih Lanjut

db.collection.insert() metode ini juga menerima writeConcern argumen, yang menjelaskan tingkat pengakuan yang diminta dari MongoDB untuk operasi penulisan.

Lihat dokumentasi MongoDB untuk db.collection.insert() untuk informasi lebih lanjut.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB - Perbarui objek di Array bersarang

  2. simpan alamat IP di mongoDB

  3. Pengantar Dasar-Dasar Zona MongoDB

  4. Kelompokkan dan hitung dengan syarat

  5. Apakah aman menghapus file jurnal mongodb?