Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
insert komutu bir koleksiyonda yeni belgeler oluşturmak için kullanılır. Tek seferde tek bir belge veya birden çok belge eklenebilir.
Sözdizimi
Insert komutunun temel söz dizimi şöyledir:
db.collection.insert(
<single document or array of documents>,
{
writeConcern: <document>,
ordered: <boolean>
}
)
Parametreler
| Parametre | Description |
|---|---|
<single document or array of documents> |
Koleksiyona eklenecek belge veya belge dizisi |
writeConcern |
(İsteğe bağlı) Yazma endişesini ifade eden bir belge. Yazma sorunu, yazma işlemi için sunucudan istenen onay düzeyini açıklar |
ordered |
(İsteğe bağlı) ise true, sunucu belgeleri sağlanan sırayla ekler. ise false, sunucu belgeleri herhangi bir sırada ekleyebilir ve hatalardan bağımsız olarak tüm belgeleri eklemeye çalışır |
-
<single document or array of documents>: Koleksiyona eklenecek belge veya belge dizisi. -
writeConcern: İsteğe bağlı. Yazma endişesini ifade eden bir belge. Yazma sorunu, yazma işlemi için sunucudan istenen onay düzeyini açıklar. -
ordered: İsteğe bağlı. isetrue, sunucu belgeleri sağlanan sırayla ekler. isefalse, sunucu belgeleri herhangi bir sırada ekleyebilir ve hatalardan bağımsız olarak tüm belgeleri eklemeyi dener.
Örnekler
Tek bir belge ekleme
Aşağıdaki komut, StoreData veritabanındaki stores koleksiyonuna tek bir belge ekler.
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
}
]
}
]
})
Birden çok belge ekleme
Aşağıdaki komut stores koleksiyonuna bir belge dizisi ekler.
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
}
]
}
]
}
])
_id alanı için bir değer belirtme
_id alanı belirtilmezse, sunucu otomatik olarak belge için benzersiz bir ObjectId() değeri oluşturur. Belge _id alanını belirtiyorsa, koleksiyondaki tüm belgeler arasında genel olarak benzersiz bir değer olmalıdır.
_id alanı için yinelenen bir değer belirtilirse, sunucu tarafından yinelenen bir anahtar ihlali hatası oluşur.
{
"WriteErrors": [
{
"WriteError": {
"err": {
"index": 0,
"code": 11000,
"errmsg": "Duplicate key violation on the requested collection: Index '_id_'",
"errInfo": "undefined",
"op": {
"testField": "testValue",
"_id": "1"
}
}
}
}
]
}
Sırasıyla birden çok belge ekleme
Toplu olarak eklenen belgeler , "sıralı" belirtilirken sırayla eklenebilir: 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)
Sıralı ekleme komutu, belgelerin eklenme sırasını onaylayan bir yanıt döndürür:
{
"acknowledged": true,
"insertedIds": {
"0": "123456",
"1": "234567"
}
}