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 | Description |
|---|---|
<single document or array of documents> |
Das Dokument oder Array von Dokumenten, die in die Auflistung eingefügt werden sollen |
writeConcern |
(Optional) Ein Dokument, das das Schreiben beunruhigt. Das Schreibproblem beschreibt die Vom Server angeforderte Bestätigungsstufe für den Schreibvorgang. |
ordered |
(Optional) Wenn trueder Server die Dokumente in die angegebene Reihenfolge einfügt. Wenn falseder 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 das Schreiben beunruhigt. Das Schreibproblem beschreibt die Vom Server angeforderte Bestätigungsebene für den Schreibvorgang. -
ordered:Wahlfrei. Wenntrueder Server die Dokumente in die angegebene Reihenfolge einfügt. Wennfalseder 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 in Massen eingefügt werden, können beim Angeben von "sortiert" in der Reihenfolge eingefügt werden: 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)
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"
}
}