Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Kommandot insert används för att skapa nya dokument i en samling. Antingen kan ett enskilt dokument eller flera dokument infogas på en gång.
Syntax
Den grundläggande syntaxen för insert-kommandot är:
db.collection.insert(
<single document or array of documents>,
{
writeConcern: <document>,
ordered: <boolean>
}
)
Parameterar
| Parameter | Description |
|---|---|
<single document or array of documents> |
Dokumentet eller matrisen med dokument som ska infogas i samlingen |
writeConcern |
(Valfritt) Ett dokument som uttrycker skrivproblemet. Skrivproblemet beskriver den bekräftelsenivå som begärts från servern för skrivåtgärden |
ordered |
(Valfritt) Om trueinfogar servern dokumenten i den angivna ordningen. Om falsekan servern infoga dokumenten i valfri ordning och försöker infoga alla dokument oavsett fel |
-
<single document or array of documents>: Dokumentet eller matrisen med dokument som ska infogas i samlingen. -
writeConcern: Valfritt. Ett dokument som uttrycker skrivproblemet. Skrivproblemet beskriver den bekräftelsenivå som begärts från servern för skrivåtgärden. -
ordered: Valfritt. Omtrueinfogar servern dokumenten i den angivna ordningen. Omfalsekan servern infoga dokumenten i valfri ordning och försöker infoga alla dokument oavsett fel.
Exempel
Infoga ett enda dokument
Följande kommando infogar ett enda dokument i lagringssamlingen i StoreData-databasen.
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
}
]
}
]
})
Infoga flera dokument
Följande kommando infogar en matris med dokument i lagringssamlingen.
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
}
]
}
]
}
])
Ange ett värde för fältet _id
Om fältet _id inte har angetts genererar servern automatiskt ett unikt ObjectId()-värde för dokumentet. Om dokumentet anger fältet _id måste det vara ett globalt unikt värde för alla dokument i samlingen.
Om ett duplicerat värde för fältet _id anges utlöses ett duplicerat nyckelfel av servern.
{
"WriteErrors": [
{
"WriteError": {
"err": {
"index": 0,
"code": 11000,
"errmsg": "Duplicate key violation on the requested collection: Index '_id_'",
"errInfo": "undefined",
"op": {
"testField": "testValue",
"_id": "1"
}
}
}
}
]
}
Infoga flera dokument i ordning
Dokument som infogas i bulk kan infogas i ordning när du anger "ordnad": 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)
Kommandot ordered insert returnerar ett svar som bekräftar i vilken ordning dokumenten infogades:
{
"acknowledged": true,
"insertedIds": {
"0": "123456",
"1": "234567"
}
}