$mod - Amazon DocumentDB

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

$mod

Der $mod Operator ist ein arithmetischer Operator, der eine Modulo-Operation für eine Zahl ausführt. Er gibt den Rest der Division einer Zahl durch eine andere zurück. Dieser Operator wird häufig verwendet, um zu bestimmen, ob eine Zahl ungerade oder gerade ist, oder um Elemente in eine endliche Anzahl von Gruppen zu verteilen.

Parameter

  • expression1: Der Dividendenausdruck.

  • expression2: Der Divisor-Ausdruck.

Beispiel (MongoDB Shell)

Dieses Beispiel zeigt, wie der $mod Operator verwendet wird, um die Anzahl der übrig gebliebenen Widgets zu ermitteln, wenn Pakete mit 100 Stück versendet werden.

Erstellen Sie Beispieldokumente

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

Beispiel für eine Abfrage

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

Ausgabe

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

Die Ausgabe zeigt den Rest count geteilt durch 100 für jedes Dokument. Dies entspricht der Anzahl der übrig gebliebenen Widgets beim Versand in Paketen mit 100 Stück.

Codebeispiele

Um ein Codebeispiel für die Verwendung des $mod Befehls anzuzeigen, wählen Sie die Registerkarte für die Sprache, die Sie verwenden möchten:

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()