Kommentar
Å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.
Operatorn $set uppdaterar ett befintligt fält eller skapar ett nytt fält med det angivna värdet om det inte finns. Ett eller flera fält i listan uppdateras eller skapas. Punkt notationen används för att uppdatera eller skapa kapslade objekt.
Syntax
{
$set: {
newField: <expression>
}
}
Parameterar
| Parameter | Description |
|---|---|
newField |
Namnet på det fält som ska uppdateras eller skapas |
expression |
Uttrycket som definierar värdet för det nya eller uppdaterade fältet |
Examples
Överväg det här exempeldokumentet från butiksamlingen.
{
"_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
}
]
}
]
}
Exempel 1 – Uppdatera ett befintligt fält
db.stores.updateOne({
_id: "8eefe8bd-5d6f-4038-90e8-05a8277637f0"
},
{
$set: {
name: "Lakeshore Retail"
}
})
Exempel 2 – Uppdatera ett befintligt fält i ett kapslat objekt
db.stores.updateOne({
_id: "8eefe8bd-5d6f-4038-90e8-05a8277637f0"
},
{
$set: {
"staff.totalStaff.partTime": 9
}
})
Exempel 3 – Skapa ett nytt fält som inte finns
Skapa ett nytt fält kallat "formerName" med det gamla namnet på butiken.
db.stores.updateOne({
_id: "8eefe8bd-5d6f-4038-90e8-05a8277637f0"
},
{
$set: {
formerName: "Tailwind Traders | Drone Shoppe - New Theodora"
}
})
Exempel 4 – Skapa ett nytt fält i ett kapslat objekt
Skapa ett nytt fält i det kapslade totalStaff-objektet för att ange antalet tillfälligt anställda.
db.stores.updateOne({
_id: "8eefe8bd-5d6f-4038-90e8-05a8277637f0"
},
{
$set: {
"staff.totalStaff.temporary": 3
}
})
Exempel 5 – Uppdatera flera fält
db.stores.updateOne({
_id: "8eefe8bd-5d6f-4038-90e8-05a8277637f0"
},
{
$set: {
"staff.totalStaff.partTime": 9,
"sales.totalSales": 3611
}
})