Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der insert
Befehl wird verwendet, um neue Dokumente in einer Auflistung zu erstellen. Entweder ein einzelnes Dokument oder mehrere Dokumente können einzeln eingefügt werden.
Syntax
Die grundlegende Syntax des Einfügebefehls lautet:
db.collection.insert(
<single document or array of documents>,
{
writeConcern: <document>,
ordered: <boolean>
}
)
Die Parameter
Parameter | BESCHREIBUNG |
---|---|
<single document or array of documents> |
Das Dokument oder Array von Dokumenten, das in die Sammlung eingefügt werden soll |
writeConcern |
(Optional) Ein Dokument, das die Schreibsicherheit beschreibt. Der Schreibvorgang beschreibt die vom Server angeforderte Bestätigungsstufe für den Schreibvorgang. |
ordered |
(Optional) Wenn true , fügt der Server die Dokumente in der angegebenen Reihenfolge ein. Wenn false der Server die Dokumente in beliebiger Reihenfolge einfügen kann und versucht, alle Dokumente unabhängig von Fehlern einzufügen. |
<single document or array of documents>
: Das Dokument oder Array von Dokumenten, das in die Auflistung eingefügt werden soll.writeConcern
:Wahlfrei. Ein Dokument, das die Schreibsicherheit ausdrückt. Die Schreibsicherheit beschreibt die vom Server angeforderte Bestätigungsebene für den Schreibvorgang.ordered
:Wahlfrei. Wenn der Werttrue
lautet, fügt der Server die Dokumente in der angegebenen Reihenfolge ein. Wennfalse
der Server die Dokumente in beliebiger Reihenfolge einfügen kann und versucht, alle Dokumente unabhängig von Fehlern einzufügen.
Beispiel(n)
Einfügen eines einzelnen Dokuments
Mit dem folgenden Befehl wird ein einzelnes Dokument in die Speichersammlung in der StoreData-Datenbank eingefügt.
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
}
]
}
]
})
Einfügen mehrerer Dokumente
Mit dem folgenden Befehl wird ein Array von Dokumenten in die Speichersammlung eingefügt.
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
}
]
}
]
}
])
Angeben eines Werts für das feld _id
Wenn das feld _id nicht angegeben ist, generiert der Server automatisch einen eindeutigen ObjectId()-Wert für das Dokument. Wenn das Dokument das feld _id angibt, muss es sich um einen global eindeutigen Wert für alle Dokumente innerhalb der Auflistung handelt.
Wenn ein doppelter Wert für das Feld _id angegeben wird, wird vom Server ein Fehler aufgrund eines doppelten Schlüsselverstoßes ausgelöst.
{
"WriteErrors": [
{
"WriteError": {
"err": {
"index": 0,
"code": 11000,
"errmsg": "Duplicate key violation on the requested collection: Index '_id_'",
"errInfo": "undefined",
"op": {
"testField": "testValue",
"_id": "1"
}
}
}
}
]
}
Einfügen mehrerer Dokumente in der reihenfolge
Dokumente, die per Massenvorgang eingefügt werden, können bei Angabe von „ordered: true“ der Reihe nach eingefügt werden.
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)
Der Befehl "Sortiertes Einfügen" gibt eine Antwort zurück, in der die Reihenfolge bestätigt wird, in der Dokumente eingefügt wurden:
{
"acknowledged": true,
"insertedIds": {
"0": "123456",
"1": "234567"
}
}