Dans cet article, nous discuterons de la façon de multiplier les valeurs d'un champ donné avec un nombre spécifique en utilisant l'opérateur $ MUL.
Opérateur MongoDB $ MUL
L'opérateur $ mu ou multiplication nous permettent de multiplier la valeur d'un champ donné avec une valeur numérique spécifique.
La syntaxe de l'opérateur est comme indiqué:
$ Mul:: ,…
Il est bon de s'assurer que le champ cible détient une valeur numérique. Sinon, l'opérateur échoue s'il rencontre une valeur non numérique.
Vous pouvez également utiliser la notation de points pour accéder à un champ situé dans un document intégré ou un tableau.
Si le champ spécifié n'existe pas dans le document cible, l'opérateur crée le fichier défini et définit la valeur à un zéro avec un type similaire à celle du numéro de multiplicateur.
Il est également bon de se souvenir des règles de conversion qui peuvent s'appliquer lors de la réalisation de multiplications sur différents types. Le tableau suivant montre les conversions de type prise en charge:
Regardons un exemple réel sur la façon d'utiliser l'opérateur $ MUL.
Exemple de collecte et documents
Supposons que nous ayons une collection qui contient des informations sur le produit comme indiqué:
Tester> dB.CreateCollection ("produits")
ok: 1
Tester> dB.des produits.insertmany ([
… _Id: 1, product_name: "product_1", prix: 100, Qté: 78,
… _Id: 2, product_name: "product_2", prix: 4500, Qté: 344,
… _Id: 3, product_name: "product_3", prix: 45, Qté: 200
…]);
reconnue: vrai, insertEDIDS: '0': 1, '1': 2, '2': 3
Exemple:
L'exemple suivant montre une opération simple sur la façon d'utiliser l'opérateur $ MUL:
Tester> dB.des produits.updateOne (_id: 1, $ Mul: prix: 2);
La requête précédente doit multiplier le prix par 2 et sur le document avec l'ID de 1.
Sortir:
Reconnu: vrai,
InsertEDID: NULL,
MatchCount: 1,
ModifiedCount: 1,
UpsertedCount: 0
Nous pouvons trouver les documents correspondants comme suit:
Tester> dB.des produits.trouver();
Documents résultants:
[
_id: 1, product_name: 'product_1', prix: 200, Qté: 78,
_id: 2, product_name: 'product_2', prix: 4500, Qté: 344,
_id: 3, product_name: 'product_3', prix: 45, Qté: 200
]]
Nous pouvons voir que le document met à jour le premier document à avoir un prix de 200.
Si vous souhaitez mettre à jour plus d'un champ, vous pouvez utiliser la demande comme indiqué dans ce qui suit:
Tester> dB.des produits.UpdateOone (_id: 1, $ Mul: Price: 2, Qté: 100);
Dans ce cas, la requête met à jour le prix et la quantité du premier document comme indiqué dans le résultat suivant:
Tester> dB.des produits.trouver (_ id: 1);
Résultat:
[_id: 1, product_name: 'product_1', prix: 400, Qté: 7800]
Conclusion
Dans ce guide, vous avez appris à utiliser l'opérateur de multiplication dans MongoDB Shell. Vérifiez les documents pour plus d'informations.