Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A insert parancs segítségével új dokumentumokat hozhat létre egy gyűjteményben. Egyetlen dokumentum vagy több dokumentum is beszúrható egyetlen lépésben.
Szemantika
A beszúrási parancs alapszintaxisa a következő:
db.collection.insert(
<single document or array of documents>,
{
writeConcern: <document>,
ordered: <boolean>
}
)
Paraméterek
| Paraméter | Description |
|---|---|
<single document or array of documents> |
A gyűjteménybe beszúrni kívánt dokumentum vagy dokumentumtömb |
writeConcern |
(Nem kötelező) Az írással kapcsolatos aggodalmat kifejező dokumentum. Az írási probléma a kiszolgálótól az írási művelethez kért nyugtázás szintjét ismerteti |
ordered |
(Nem kötelező) Ha true, a kiszolgáló a megadott sorrendbe szúrja be a dokumentumokat. Ha falsea kiszolgáló bármilyen sorrendben beszúrhatja a dokumentumokat, és a hibáktól függetlenül megkísérli az összes dokumentum beszúrását |
-
<single document or array of documents>: A gyűjteménybe beszúrni kívánt dokumentum vagy dokumentumtömb. -
writeConcern: Nem kötelező. Az írással kapcsolatos aggodalmat kifejező dokumentum. Az írási probléma a kiszolgálótól az írási művelethez kért nyugtázás szintjét ismerteti. -
ordered: Nem kötelező. Hatrue, a kiszolgáló a megadott sorrendbe szúrja be a dokumentumokat. Hafalsea kiszolgáló bármilyen sorrendben beszúrhatja a dokumentumokat, és a hibáktól függetlenül megkísérli az összes dokumentum beszúrását.
Példa(ák)
Egyetlen dokumentum beszúrása
Az alábbi parancs egyetlen dokumentumot szúr be a StoreData-adatbázis áruházgyűjteményébe.
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
}
]
}
]
})
Több dokumentum beszúrása
Az alábbi parancs dokumentumtömböt szúr be az áruházak gyűjteményébe.
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
}
]
}
]
}
])
A _id mező értékének megadása
Ha a _id mező nincs megadva, a kiszolgáló automatikusan létrehoz egy egyedi ObjectId() értéket a dokumentumhoz. Ha a dokumentum megadja a _id mezőt, globálisan egyedi értéknek kell lennie a gyűjtemény összes dokumentumában.
Ha a _id mező duplikált értéke van megadva, a kiszolgáló ismétlődő kulcssértési hibát jelez.
{
"WriteErrors": [
{
"WriteError": {
"err": {
"index": 0,
"code": 11000,
"errmsg": "Duplicate key violation on the requested collection: Index '_id_'",
"errInfo": "undefined",
"op": {
"testField": "testValue",
"_id": "1"
}
}
}
}
]
}
Több dokumentum beszúrása sorrendben
A tömegesen beszúrt dokumentumok sorrendbe szúrhatók be a "rendezett" érték megadásakor: igaz
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)
A rendezett beszúrás parancs egy választ ad vissza, amely megerősíti a dokumentumok beszúrási sorrendjét:
{
"acknowledged": true,
"insertedIds": {
"0": "123456",
"1": "234567"
}
}