기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
$mod
연$mod산자는 숫자에 모듈로 연산을 수행하는 산술 연산자입니다. 한 숫자를 다른 숫자로 나눈 나머지 부분을 반환합니다. 이 연산자는 일반적으로 숫자가 홀수인지 짝수인지 확인하거나 항목을 한정된 수의 그룹으로 분산하는 데 사용됩니다.
파라미터
예제(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()