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 $set Operator aktualisiert ein vorhandenes Feld oder erstellt ein neues Feld mit dem angegebenen Wert, wenn es nicht vorhanden ist. Mindestens ein aufgelistetes Feld wird aktualisiert oder erstellt. Die Punktnotation wird verwendet, um geschachtelte Objekte zu aktualisieren oder zu erstellen.
Syntax
{
$set: {
newField: <expression>
}
}
Die Parameter
| Parameter | Description |
|---|---|
newField |
Der Name des zu aktualisierenden oder zu erstellenden Felds |
expression |
Der Ausdruck, der den Wert des neuen oder aktualisierten Felds definiert |
Examples
Betrachten Sie dieses Beispieldokument aus der Stores-Sammlung.
{
"_id": "0fcc0bf0-ed18-4ab8-b558-9848e18058f4",
"name": "First Up Consultants | Beverage Shop - Satterfieldmouth",
"location": {
"lat": -89.2384,
"lon": -46.4012
},
"staff": {
"totalStaff": {
"fullTime": 8,
"partTime": 20
}
},
"sales": {
"totalSales": 75670,
"salesByCategory": [
{
"categoryName": "Wine Accessories",
"totalSales": 34440
},
{
"categoryName": "Bitters",
"totalSales": 39496
},
{
"categoryName": "Rum",
"totalSales": 1734
}
]
},
"promotionEvents": [
{
"eventName": "Unbeatable Bargain Bash",
"promotionalDates": {
"startDate": {
"Year": 2024,
"Month": 6,
"Day": 23
},
"endDate": {
"Year": 2024,
"Month": 7,
"Day": 2
}
},
"discounts": [
{
"categoryName": "Whiskey",
"discountPercentage": 7
},
{
"categoryName": "Bitters",
"discountPercentage": 15
},
{
"categoryName": "Brandy",
"discountPercentage": 8
},
{
"categoryName": "Sports Drinks",
"discountPercentage": 22
},
{
"categoryName": "Vodka",
"discountPercentage": 19
}
]
},
{
"eventName": "Steal of a Deal Days",
"promotionalDates": {
"startDate": {
"Year": 2024,
"Month": 9,
"Day": 21
},
"endDate": {
"Year": 2024,
"Month": 9,
"Day": 29
}
},
"discounts": [
{
"categoryName": "Organic Wine",
"discountPercentage": 19
},
{
"categoryName": "White Wine",
"discountPercentage": 20
},
{
"categoryName": "Sparkling Wine",
"discountPercentage": 19
},
{
"categoryName": "Whiskey",
"discountPercentage": 17
},
{
"categoryName": "Vodka",
"discountPercentage": 23
}
]
}
]
}
Beispiel 1 : Aktualisieren eines vorhandenen Felds
db.stores.updateOne({
_id: "8eefe8bd-5d6f-4038-90e8-05a8277637f0"
},
{
$set: {
name: "Lakeshore Retail"
}
})
Beispiel 2 : Aktualisieren eines vorhandenen Felds in einem geschachtelten Objekt
db.stores.updateOne({
_id: "8eefe8bd-5d6f-4038-90e8-05a8277637f0"
},
{
$set: {
"staff.totalStaff.partTime": 9
}
})
Beispiel 3 : Erstellen eines neuen Felds, das nicht vorhanden ist
Erstellen Sie ein neues Feld namens "formerName" mit dem alten Namen des Stores.
db.stores.updateOne({
_id: "8eefe8bd-5d6f-4038-90e8-05a8277637f0"
},
{
$set: {
formerName: "Tailwind Traders | Drone Shoppe - New Theodora"
}
})
Beispiel 4 – Erstellen eines neuen Felds in einem geschachtelten Objekt
Erstellen Sie ein neues Feld innerhalb des geschachtelten totalStaff-Objekts, um eine Anzahl temporärer Mitarbeiter anzugeben.
db.stores.updateOne({
_id: "8eefe8bd-5d6f-4038-90e8-05a8277637f0"
},
{
$set: {
"staff.totalStaff.temporary": 3
}
})
Beispiel 5 : Aktualisieren mehrerer Felder
db.stores.updateOne({
_id: "8eefe8bd-5d6f-4038-90e8-05a8277637f0"
},
{
$set: {
"staff.totalStaff.partTime": 9,
"sales.totalSales": 3611
}
})