$mod - Amazon DocumentDB

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

$mod

$mod산자는 숫자에 모듈로 연산을 수행하는 산술 연산자입니다. 한 숫자를 다른 숫자로 나눈 나머지 부분을 반환합니다. 이 연산자는 일반적으로 숫자가 홀수인지 짝수인지 확인하거나 항목을 한정된 수의 그룹으로 분산하는 데 사용됩니다.

파라미터

  • expression1: 배당 표현식입니다.

  • expression2: 디바이저 표현식입니다.

예제(MongoDB 쉘)

이 예제에서는 연$mod산자를 사용하여 100개 패키지로 배송할 때 남은 위젯 수를 확인하는 방법을 보여줍니다.

샘플 문서 생성

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

쿼리 예제

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

출력

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

출력에는의 나머지 부분을 각 문서에 대해 100으로 count 나눈 값이 표시되며, 이는 100개 패키지로 배송할 때 남은 위젯 수를 나타냅니다.

코드 예제

$mod 명령을 사용하기 위한 코드 예제를 보려면 사용하려는 언어의 탭을 선택합니다.

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