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

MongoDB - Buat Dokumen

MongoDB menyediakan insert() metode (dan dua lainnya) untuk menambahkan dokumen ke database.

MongoDB menyediakan tiga metode berikut untuk memasukkan dokumen ke dalam database:

  • insert()
  • insertOne()
  • insertMany()

The insert() Metode

insert() metode memasukkan satu atau lebih dokumen ke dalam koleksi. Setiap dokumen disediakan sebagai parameter. Nama koleksi diawali dengan insert() metode.

Berikut sintaks untuk menyisipkan satu dokumen:

db.collectionName.insert({ name: "value" })

Pada contoh di atas, dokumen terdiri dari { name: "value" } . Ini adalah dokumen JSON. Dokumen JSON terdiri dari satu atau lebih pasangan nama/nilai, diapit dalam kurung kurawal {} .

MongoDB menggunakan dokumen JSON untuk menyimpan data, oleh karena itu kami memasukkan dokumen dalam format ini.

Kami telah menggunakan metode ini sebelumnya ketika kami membuat database.

Mari tambahkan dokumen lain ke database kita:

db.artists.insert({ artistname: "Jorn Lande" })

Ini menyisipkan dokumen dengan { artistname: "Jorn Lande" } sebagai isinya.

Sekarang, jika kita menelusuri artis koleksi, kita akan melihat dua dokumen (termasuk yang kita buat sebelumnya):

> db.artists.find()
{ "_id" : ObjectId("5780fbf948ef8c6b3ffb0149"), "artistname" : "The Tea Party" }
{ "_id" : ObjectId("5781c9ac48ef8c6b3ffb014a"), "artistname" : "Jorn Lande" }

Perhatikan bahwa MongoDB telah membuat _id lapangan untuk dokumen. Jika Anda tidak menentukannya, MongoDB akan membuatnya untuk Anda. Namun, Anda dapat memberikan bidang ini saat melakukan penyisipan jika Anda lebih suka memiliki kontrol atas nilai _id lapangan.

db.artists.insert({ _id: 1, artistname: "AC/DC" })

Hasil:

> db.artists.find()
{ "_id" : ObjectId("5780fbf948ef8c6b3ffb0149"), "artistname" : "The Tea Party" }
{ "_id" : ObjectId("5781c9ac48ef8c6b3ffb014a"), "artistname" : "Jorn Lande" }
{ "_id" : 1, "artistname" : "AC/DC" }

_id yang disediakan MongoDB adalah nilai ObjectId 12-byte. Itu terdiri dari nilai-nilai berikut;

  • nilai 4-byte yang mewakili detik sejak zaman Unix,
  • pengidentifikasi mesin 3 byte,
  • id proses 2 byte, dan
  • penghitung 3 byte, dimulai dengan nilai acak.

Buat Banyak Dokumen

Anda dapat menyisipkan beberapa dokumen dalam satu insert() metode.

Dalam contoh ini, kami menyisipkan tiga dokumen:

db.artists.insert(
   [
     { artistname: "The Kooks" },
     { artistname: "Bastille" },
     { artistname: "Gang of Four" }
   ]
)

Perhatikan bahwa dokumen disediakan sebagai larik. Dokumen diapit dalam tanda kurung siku [] , dan dipisahkan dengan koma.

Menjalankan kode di atas menghasilkan pesan berikut:

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

Dokumen Tersemat

Sebuah dokumen dapat berisi dokumen lain, larik, dan larik dokumen.

Anda juga dapat memberikan beberapa pasangan nama/nilai dalam dokumen dengan memisahkannya dengan koma.

db.artists.insert({
    artistname : "Deep Purple",
    albums : [
                {
                    album : "Machine Head",
                    year : 1972,
                    genre : "Rock"
                }, 
                {
                    album : "Stormbringer",
                    year : 1974,
                    genre : "Rock"
                }
            ]
})

Hasil:

WriteResult({ "nInserted" : 1 })

Parameter

insert() metode menerima parameter berikut.

Parameter Ketik Deskripsi document dokumen atau larik Dokumen atau larik dokumen untuk dimasukkan ke dalam koleksi (seperti pada contoh di atas). writeConcern dokumen Parameter opsional. Ini adalah dokumen yang mengungkapkan keprihatinan tertulis. Kekhawatiran penulisan menjelaskan tingkat pengakuan yang diminta dari MongoDB untuk operasi penulisan ke mongod mandiri atau ke kumpulan replika atau ke kluster sharded. ordered boolean Parameter opsional. Jika nilainya diatur ke true , MongoDB akan melakukan penyisipan dokumen secara berurutan dalam larik, dan jika terjadi kesalahan dengan salah satu dokumen, MongoDB akan kembali tanpa memproses dokumen yang tersisa dalam larik.

Jika nilainya diatur ke false , MongoDB akan melakukan penyisipan yang tidak berurutan, dan jika terjadi kesalahan pada salah satu dokumen, dokumen yang tersisa dalam larik akan terus diproses.

The insertOne() Metode

Anda juga dapat menggunakan insertOne() metode untuk menyisipkan satu dokumen ke dalam koleksi:

db.musicians.insertOne({ _id: 1, name: "Ian Gillan", instrument: "Vocals" })

Di sini, kami telah menentukan koleksi yang tidak ada. Seperti halnya insert() metode, koleksi yang ditentukan akan dibuat jika belum ada.

Anda akan melihat bahwa outputnya berbeda dengan saat Anda menggunakan insert() metode:

{ "acknowledged" : true, "insertedId" : 1 }

Dokumen Tersemat

Seperti insert() , Anda dapat menyisipkan dokumen dan susunan dokumen yang disematkan:

db.artists.insertOne({
    artistname : "Miles Davis",
    albums : [
                {
                    album : "Kind of Blue",
                    year : 1959,
                    genre : "Jazz"
                }, 
                {
                    album : "Bitches Brew",
                    year : 1970,
                    genre : "Jazz"
                }
            ]
})

Hasil:

{
	"acknowledged" : true,
	"insertedId" : ObjectId("578214f048ef8c6b3ffb0159")
}

The insertMany() Metode

Seperti namanya, Anda dapat menggunakan insertMany() untuk menyisipkan banyak dokumen:

db.musicians.insertMany(
   [
     { _id: 2, name: "Ian Paice", instrument: "Drums", born: 1948 },
     { _id: 3, name: "Roger Glover", instrument: "Bass", born: 1945 },
     { _id: 4, name: "Steve Morse", instrument: "Guitar", born: 1954 },
     { _id: 5, name: "Don Airey", instrument: "Keyboards", born: 1948 },
     { _id: 6, name: "Jeff Martin", instrument: "Vocals", born: 1969 },
     { _id: 7, name: "Jeff Burrows", instrument: "Drums", born: 1968 },
     { _id: 8, name: "Stuart Chatwood", instrument: "Bass", born: 1969 },
   ]
)

Sekali lagi, output saat menggunakan insertMany() berbeda dengan jika Anda menyisipkan beberapa dokumen menggunakan insert() metode:

{
	"acknowledged" : true,
	"insertedIds" : [
		2,
		3,
		4,
		5,
		6,
		7,
		8
	]
}

Dokumen Tersemat

db.artists.insertMany(
[
{
    artistname : "Robben Ford",
    albums : [
                {
                    album : "Bringing it Back Home",
                    year : 2013,
                    genre : "Blues"
                }, 
                {
                    album : "Talk to Your Daughter",
                    year : 1988,
                    genre : "Blues"
                }
            ]
}, {
    artistname : "Snoop Dogg",
    albums : [
                {
                    album : "Tha Doggfather",
                    year : 1996,
                    genre : "Rap"
                }, 
                {
                    album : "Reincarnated",
                    year : 2013,
                    genre : "Reggae"
                }
            ]
}
])

Hasil:

{
	"acknowledged" : true,
	"insertedIds" : [
		ObjectId("578217c248ef8c6b3ffb015a"),
		ObjectId("578217c248ef8c6b3ffb015b")
	]
}

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana Memastikan Cluster MongoDB Anda Dapat Bertahan dari Pemadaman Amazon AWS?

  2. Apa yang terjadi dengan Meteor dan Fibers/bindEnvironment()?

  3. Bagaimana cara menginstal mongoDB di windows?

  4. Buat Cluster Database di Cloud Dengan MongoDB Atlas

  5. rmongodb:menggunakan $atau dalam kueri