Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Perintah insert digunakan untuk membuat dokumen baru ke dalam koleksi. Satu dokumen atau beberapa dokumen dapat disisipkan dalam sekali jalan.
Syntax
Sintaks dasar perintah sisipkan adalah:
db.collection.insert(
<single document or array of documents>,
{
writeConcern: <document>,
ordered: <boolean>
}
)
Parameter-parameternya
| Pengaturan | Description |
|---|---|
<single document or array of documents> |
Dokumen atau array dokumen yang akan disisipkan ke dalam koleksi |
writeConcern |
(Opsional) Dokumen yang mengekspresikan kekhawatiran tulis. Kekhawatiran tulis menjelaskan tingkat pengakuan yang diminta dari server untuk operasi tulis |
ordered |
(Opsional) Jika true, server menyisipkan dokumen dalam urutan yang disediakan. Jika false, server dapat menyisipkan dokumen dalam urutan apa pun dan akan mencoba menyisipkan semua dokumen terlepas dari kesalahan |
-
<single document or array of documents>: Dokumen atau array dokumen yang akan dimasukkan ke dalam koleksi. -
writeConcern: Opsional. Dokumen yang mengekspresikan kekhawatiran tulis. Kekhawatiran penulisan menjelaskan tingkat pengakuan yang diminta dari server untuk operasi tulis. -
ordered: Opsional. Jikatrue, server menyisipkan dokumen dalam urutan yang disediakan. Jikafalse, server dapat menyisipkan dokumen dalam urutan apa pun dan akan mencoba menyisipkan semua dokumen terlepas dari kesalahan.
Contoh
Menyisipkan satu dokumen
Perintah berikut menyisipkan satu dokumen ke dalam kumpulan penyimpanan di database StoreData.
db.stores.insertOne({
"storeId": "12345",
"name": "Boulder Innovations",
"location": {
"lat": 37.7749,
"lon": -122.4194
},
"staff": {
"totalStaff": {
"fullTime": 15,
"partTime": 10
}
},
"sales": {
"totalSales": 500000.00,
"salesByCategory": [
{
"categoryName": "Laptops",
"totalSales": 300000.00
},
{
"categoryName": "Smartphones",
"totalSales": 200000.00
}
]
},
"promotionEvents": [
{
"eventName": "Summer Sale",
"promotionalDates": {
"startDate": "2024-06-01",
"endDate": "2024-06-30"
},
"discounts": [
{
"categoryName": "Laptops",
"discountPercentage": 15
},
{
"categoryName": "Smartphones",
"discountPercentage": 10
}
]
},
{
"eventName": "Holiday Specials",
"promotionalDates": {
"startDate": "2024-12-01",
"endDate": "2024-12-31"
},
"discounts": [
{
"categoryName": "Laptops",
"discountPercentage": 20
},
{
"categoryName": "Smartphones",
"discountPercentage": 25
}
]
}
]
})
Menyisipkan beberapa dokumen
Perintah berikut menyisipkan array dokumen ke dalam kumpulan penyimpanan.
db.stores.insertMany([
{
"storeId": "12346",
"name": "Graphic Design Institute",
"location": {
"lat": 34.0522,
"lon": -118.2437
},
"staff": {
"totalStaff": {
"fullTime": 20,
"partTime": 5
}
},
"sales": {
"totalSales": 750000.00,
"salesByCategory": [
{
"categoryName": "Laptops",
"totalSales": 400000.00
},
{
"categoryName": "Smartphones",
"totalSales": 350000.00
}
]
},
"promotionEvents": [
{
"eventName": "Black Friday",
"promotionalDates": {
"startDate": "2024-11-25",
"endDate": "2024-11-30"
},
"discounts": [
{
"categoryName": "Laptops",
"discountPercentage": 25
},
{
"categoryName": "Smartphones",
"discountPercentage": 30
}
]
}
]
},
{
"storeId": "12347",
"name": "Relecloud",
"location": {
"lat": 40.7128,
"lon": -74.0060
},
"staff": {
"totalStaff": {
"fullTime": 10,
"partTime": 20
}
},
"sales": {
"totalSales": 600000.00,
"salesByCategory": [
{
"categoryName": "Laptops",
"totalSales": 350000.00
},
{
"categoryName": "Smartphones",
"totalSales": 250000.00
}
]
},
"promotionEvents": [
{
"eventName": "New Year Sale",
"promotionalDates": {
"startDate": "2024-01-01",
"endDate": "2024-01-07"
},
"discounts": [
{
"categoryName": "Laptops",
"discountPercentage": 10
},
{
"categoryName": "Smartphones",
"discountPercentage": 15
}
]
}
]
}
])
Menentukan nilai untuk bidang _id
Jika bidang _id tidak ditentukan, server otomatis menghasilkan nilai ObjectId() unik untuk dokumen. Jika dokumen menentukan bidang _id, dokumen harus menjadi nilai unik global di semua dokumen dalam koleksi.
Jika nilai duplikat untuk bidang _id ditentukan, kesalahan pelanggaran kunci duplikat akan dilemparkan oleh server.
{
"WriteErrors": [
{
"WriteError": {
"err": {
"index": 0,
"code": 11000,
"errmsg": "Duplicate key violation on the requested collection: Index '_id_'",
"errInfo": "undefined",
"op": {
"testField": "testValue",
"_id": "1"
}
}
}
}
]
}
Menyisipkan beberapa dokumen secara berurutan
Dokumen yang disisipkan secara massal dapat disisipkan secara berurutan saat menentukan "diurutkan": true
db.stores.insertMany([
{
"_id": "123456",
"storeId": "123456",
"name": "Graphic Design Institute",
"location": {
"lat": 34.0522,
"lon": -118.2437
},
"staff": {
"totalStaff": {
"fullTime": 20,
"partTime": 5
}
},
"sales": {
"totalSales": 750000.00,
"salesByCategory": [
{
"categoryName": "Laptops",
"totalSales": 400000.00
},
{
"categoryName": "Smartphones",
"totalSales": 350000.00
}
]
},
"promotionEvents": [
{
"eventName": "Black Friday",
"promotionalDates": {
"startDate": "2024-11-25",
"endDate": "2024-11-30"
},
"discounts": [
{
"categoryName": "Laptops",
"discountPercentage": 25
},
{
"categoryName": "Smartphones",
"discountPercentage": 30
}
]
}
]
},
{
"_id": "234567",
"storeId": "234567",
"name": "Relecloud",
"location": {
"lat": 40.7128,
"lon": -74.0060
},
"staff": {
"totalStaff": {
"fullTime": 10,
"partTime": 20
}
},
"sales": {
"totalSales": 600000.00,
"salesByCategory": [
{
"categoryName": "Laptops",
"totalSales": 350000.00
},
{
"categoryName": "Smartphones",
"totalSales": 250000.00
}
]
},
"promotionEvents": [
{
"eventName": "New Year Sale",
"promotionalDates": {
"startDate": "2024-01-01",
"endDate": "2024-01-07"
},
"discounts": [
{
"categoryName": "Laptops",
"discountPercentage": 10
},
{
"categoryName": "Smartphones",
"discountPercentage": 15
}
]
}
]
}
], "ordered": true)
Perintah sisipkan yang diurutkan mengembalikan respons yang mengonfirmasi urutan di mana dokumen disisipkan:
{
"acknowledged": true,
"insertedIds": {
"0": "123456",
"1": "234567"
}
}