$mod - Amazon DocumentDB

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

$mod

L'$modopérateur est un opérateur arithmétique qui effectue une opération modulo sur un nombre. Elle renvoie le reste de la division d'un nombre par un autre. Cet opérateur est couramment utilisé pour déterminer si un nombre est pair ou impair, ou pour répartir les éléments dans un nombre fini de groupes.

Paramètres

  • expression1: L'expression du dividende.

  • expression2: expression du diviseur.

Exemple (MongoDB Shell)

Cet exemple montre comment utiliser l'$modopérateur pour déterminer le nombre de widgets restants lors de l'expédition par colis de 100.

Création d'exemples de documents

db.widgets.insertMany([ { "_id" : 1, "widget" : "A", "count" : 80372 }, { "_id" : 2, "widget" : "B", "count" : 409282 }, { "_id" : 3, "widget" : "C", "count" : 60739 } ])

Exemple de requête

db.widgets.aggregate([ { $addFields: { leftOver: { $mod: [ "$count", 100 ] } } } ])

Sortie

[ { "_id" : 1, "widget" : "A", "count" : 80372, "leftOver" : 72 }, { "_id" : 2, "widget" : "B", "count" : 409282, "leftOver" : 82 }, { "_id" : 3, "widget" : "C", "count" : 60739, "leftOver" : 39 } ]

Le résultat indique le reste count divisé par 100 pour chaque document, ce qui représente le nombre de widgets restants lors de l'expédition par colis de 100.

Exemples de code

Pour afficher un exemple de code d'utilisation de la $mod commande, choisissez l'onglet correspondant à la langue que vous souhaitez utiliser :

Node.js
const { MongoClient } = require('mongodb'); async function main() { const client = await MongoClient.connect('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false'); const db = client.db('test'); const widgets = db.collection('widgets'); await widgets.insertMany([ { "_id" : 1, "widget" : "A", "count" : 80372 }, { "_id" : 2, "widget" : "B", "count" : 409282 }, { "_id" : 3, "widget" : "C", "count" : 60739 } ]); const result = await widgets.aggregate([ { $addFields: { leftOver: { $mod: [ "$count", 100 ] } } } ]).toArray(); console.log(result); client.close(); } main();
Python
from pymongo import MongoClient client = MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false') db = client['test'] widgets = db['widgets'] widgets.insert_many([ { "_id" : 1, "widget" : "A", "count" : 80372 }, { "_id" : 2, "widget" : "B", "count" : 409282 }, { "_id" : 3, "widget" : "C", "count" : 60739 } ]) result = list(widgets.aggregate([ { "$addFields": { "leftOver": { "$mod": [ "$count", 100 ] } } } ])) print(result) client.close()