Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
TOEPASBAAR OP:
MongoDB vCore
De $mul
operator vermenigvuldigt de waarde van een veld met een opgegeven getal. Als het veld niet bestaat, $mul
maakt u het veld en stelt u het in op nul. Deze operator is handig voor het toepassen van percentagewijzigingen, schaalwaarden of het uitvoeren van bulkberekeningen op numerieke velden.
Syntaxis
De syntaxis voor de $mul
operator is als volgt:
{
$mul: {
<field1>: <number1>,
<field2>: <number2>,
...
}
}
Parameterwaarden
Beschrijving | |
---|---|
field |
De naam van het veld dat moet worden vermenigvuldigd. |
number |
Het getal om de veldwaarde te vermenigvuldigen met. Moet een numerieke waarde zijn. |
Voorbeeld
Laten we het gebruik begrijpen met voorbeeld-json uit stores
de gegevensset.
{
"_id": "438db151-04b8-4422-aa97-acf94bc69cfc",
"name": "Fourth Coffee | Turntable Boutique - Tromptown",
"staff": {
"totalStaff": {
"fullTime": 8,
"partTime": 5
}
},
"sales": {
"totalSales": 24863,
"salesByCategory": [
{
"categoryName": "Direct-Drive Turntables",
"totalSales": 24863
}
]
}
}
Voorbeeld 1: Percentageverhoging toepassen
Pas een toename van 10% toe op de totale verkoop (vermenigvuldigd met 1,1).
db.stores.updateOne(
{ "_id": "438db151-04b8-4422-aa97-acf94bc69cfc" },
{
$mul: {
"sales.totalSales": 1.1
}
}
)
Dit verandert totalSales
van 24863 in 27349,3 (24863 × 1,1).
Voorbeeld 2: Korting toepassen
Pas een korting van 20% toe op verkoopcijfers (vermenigvuldigd met 0,8).
db.stores.updateOne(
{ "_id": "438db151-04b8-4422-aa97-acf94bc69cfc" },
{
$mul: {
"sales.totalSales": 0.8
}
}
)
Voorbeeld 3: Meerdere veldbewerkingen
Verschillende vermenigvuldigers toepassen op meerdere velden tegelijk.
db.stores.updateOne(
{ "_id": "438db151-04b8-4422-aa97-acf94bc69cfc" },
{
$mul: {
"staff.totalStaff.fullTime": 1.5,
"staff.totalStaff.partTime": 2,
"sales.totalSales": 1.25
}
}
)
Dit doet het volgende:
- Verhoging
fullTime
van 8 tot 12 (8 × 1,5) - Verhoging
partTime
van 5 tot 10 (5 × 2) - Verhogen
totalSales
met 25% (vermenigvuldig met 1,25)
Voorbeeld 4: Nieuwe velden maken
Als er geen veld bestaat, $mul
maakt u het en stelt u het in op 0.
db.stores.updateOne(
{ "_id": "438db151-04b8-4422-aa97-acf94bc69cfc" },
{
$mul: {
"sales.bonusPoints": 100,
"staff.overtimeHours": 40
}
}
)
Beide bonusPoints
en overtimeHours
worden gemaakt met waarde 0.
Voorbeeld 5: Werken met decimalen
Pas nauwkeurige decimale vermenigvuldigers toe voor financiële berekeningen.
db.stores.updateOne(
{ "_id": "438db151-04b8-4422-aa97-acf94bc69cfc" },
{
$mul: {
"sales.totalSales": 0.915
}
}
)
Voorbeeld 6: Matrixelementen bijwerken
Vermenigvuldigers toepassen op specifieke elementen in matrices met behulp van positionele operatoren.
db.stores.updateOne(
{
"_id": "438db151-04b8-4422-aa97-acf94bc69cfc",
"sales.salesByCategory.categoryName": "Direct-Drive Turntables"
},
{
$mul: {
"sales.salesByCategory.$.totalSales": 1.15
}
}
)
Voorbeeld 7: Negatieve waarden en nul
Negatieve vermenigvuldigers en nulwaarden verwerken.
db.stores.updateOne(
{ "_id": "438db151-04b8-4422-aa97-acf94bc69cfc" },
{
$mul: {
"sales.totalSales": -1,
"staff.totalStaff.fullTime": 0
}
}
)
Dit doet het volgende:
- Negatief maken
totalSales
(handig voor omkeringen) -
fullTime
instellen op 0
Na het toepassen van een vermenigvuldiger van 1,5 op personeel en 1,25 op verkoop, wordt het document als volgt bijgewerkt:
{
"_id": "438db151-04b8-4422-aa97-acf94bc69cfc",
"name": "Fourth Coffee | Turntable Boutique - Tromptown",
"staff": {
"totalStaff": {
"fullTime": 12,
"partTime": 10
},
"overtimeHours": 0
},
"sales": {
"totalSales": 31078.75,
"bonusPoints": 0,
"salesByCategory": [
{
"categoryName": "Direct-Drive Turntables",
"totalSales": 28592.45
}
]
}
}
Verwante inhoud
- Bekijk de opties voor migreren van MongoDB naar Azure Cosmos DB voor MongoDB (vCore)
- Meer informatie over functiecompatibiliteit met MongoDB