MongoDB $ mul -operatør

MongoDB $ mul -operatør
Når du jobber med databaser, vil du ofte komme over tilfeller der du trenger å utføre aritmetiske operasjoner på et gitt sett med poster. MongoDB gir oss et sett med aritmetiske operatører for å utføre slike operasjoner.

I dette innlegget vil vi diskutere hvordan du kan multiplisere verdiene til et gitt felt med et spesifikt nummer ved hjelp av $ MUL -operatøren.

MongoDB $ mul -operatør

$ MU- eller multiplikasjonsoperatøren lar oss multiplisere verdien av et gitt felt med en spesifikk numerisk verdi.

Operatørens syntaks er som vist:

$ mul: : ,…

Det er bra å sikre at målfeltet har numerisk verdi. Ellers mislykkes operatøren hvis den møter en ikke-numerisk verdi.

Du kan også bruke prikknotasjonen for å få tilgang til et felt som ligger i et innebygd dokument eller en matrise.

Hvis det spesifiserte feltet ikke eksisterer i måldokumentet, oppretter operatøren den definerte arkiverte og setter verdien til en null med lignende type som multiplikatornummer.

Det er også godt å huske konverteringsreglene som kan gjelde når du utfører multiplikasjoner på forskjellige typer. Følgende tabell viser de støttede typekonverteringene:

La oss se på et ekte eksempel på hvordan du bruker $ MUL-operatøren.

Eksempelinnsamling og dokumenter

Anta at vi har en samling som inneholder en produktinformasjon som vist:

Test> DB.CreateCollection ("Produkter")
OK: 1
Test> DB.Produkter.INSERTMANY ([
... _id: 1, produktnavn: "Produkt_1", pris: 100, Antall: 78,
... _id: 2, produktnavn: "Produkt_2", pris: 4500, Antall: 344,
... _id: 3, produktnavn: "Produkt_3", pris: 45, Antall: 200
…]);
anerkjent: sant, innsats: '0': 1, '1': 2, '2': 3

Eksempel:

Følgende eksempel viser en enkel operasjon for hvordan du bruker $ MUL -operatøren:

Test> DB.Produkter.UpdateOne (_id: 1, $ mul: pris: 2);

Den forrige spørringen skal multiplisere prisen med 2 og på dokumentet med ID på 1.

Produksjon:

Anerkjent: sant,
innsats: null,
MatchedCount: 1,
ModifiedCount: 1,
UPSERTEDCOUNT: 0

Vi kan finne de matchende dokumentene som følger:

Test> DB.Produkter.finne();

Resulterende dokumenter:

[
_id: 1, produktnavn: 'Produkt_1', pris: 200, Antall: 78,
_id: 2, produktnavn: 'Produkt_2', pris: 4500, Antall: 344,
_id: 3, produktnavn: 'Produkt_3', pris: 45, Antall: 200
]

Vi kan se at dokumentet oppdaterer det første dokumentet som har en pris på 200.

Hvis du ønsker å oppdatere mer enn ett felt, kan du bruke forespørselen som vist på følgende:

Test> DB.Produkter.UpdateOne (_id: 1, $ mul: Price: 2, Qty: 100);

I dette tilfellet oppdaterer spørringen prisen og mengden av det første dokumentet som vist i følgende resultat:

Test> DB.Produkter.finn (_ id: 1);

Resultat:

[_id: 1, produktnavn: 'Produkt_1', pris: 400, Antall: 7800]

Konklusjon

I denne guiden lærte du hvordan du bruker multiplikasjonsoperatøren i MongoDB Shell. Sjekk dokumentene for mer informasjon.