mongoDB 割り算の余りの結果同じデータを取得する
mongoDBで、割り算の余りの結果同じデータを取得する手順を記述してます。「$mod」を使用して割り算に使用する値を余りを指定します。
環境
- OS CentOS Stream release 9
- MongoDB 6.0.2
手順
割り算の余りの結果同じデータを取得するには、「$mod」を使用します。
db.コレクション名.find( { $mod: [割る値:余り] } )
実際に、以下のデータベース「hoge」にある「foo」というコレクション(テーブル)のドキュメント(レコード)を使用して動作を確認してみます。
> use hoge
> db.foo.find()
[
{
_id: ObjectId("6364ae7f06a29c57f191d1b7"),
name: 'itiro',
age: 10,
gender: 'm'
},
{
_id: ObjectId("6364ae7f06a29c57f191d1b8"),
name: 'jiro',
age: 20,
gender: 'm'
},
{
_id: ObjectId("6364ae7f06a29c57f191d1b9"),
name: 'saburo',
age: 30,
gender: 'm'
},
{
_id: ObjectId("6364ae7f06a29c57f191d1ba"),
name: 'jiro',
age: 25,
gender: 'f'
},
{
_id: ObjectId("6364ae7f06a29c57f191d1bb"),
name: 'jiro',
age: 30,
gender: 'x'
}
]
「10」の倍数だけ取得してみます。
> db.foo.find({age: {$mod:[10, 0]} })
[
{
_id: ObjectId("6364ae7f06a29c57f191d1b7"),
name: 'itiro',
age: 10,
gender: 'm'
},
{
_id: ObjectId("6364ae7f06a29c57f191d1b8"),
name: 'jiro',
age: 20,
gender: 'm'
},
{
_id: ObjectId("6364ae7f06a29c57f191d1b9"),
name: 'saburo',
age: 30,
gender: 'm'
},
{
_id: ObjectId("6364ae7f06a29c57f191d1bb"),
name: 'jiro',
age: 30,
gender: 'x'
}
]
取得されていることが、確認できます。
「3」で割って、余りが「1」のものを取得してみます。
> db.foo.find({age: {$mod:[3, 1]} })
[
{
_id: ObjectId("6364ae7f06a29c57f191d1b7"),
name: 'itiro',
age: 10,
gender: 'm'
},
{
_id: ObjectId("6364ae7f06a29c57f191d1ba"),
name: 'jiro',
age: 25,
gender: 'f'
}
]
-
前の記事
mac コマンドの種類を取得する 2022.11.15
-
次の記事
Rust エラー「error[E0277]: Vec<&str> doesn’t implement std::fmt::Display」が発生した場合の対処法 2022.11.15
コメントを書く