MongoDBで価格が特定の値未満のレコードを検索する方法($lt演算子の使い方)
MongoDBで、価格(Price)が特定の値より小さいレコードを検索したい場合には、比較クエリ演算子の一つである $lt(less than)を使用します。$ltは「指定した値より小さい」ドキュメントのみを抽出するための演算子です。
この記事では、実際にコレクションを作成し、$lt演算子を使って条件に合致するドキュメントを検索する手順を順番に解説します。
1. テスト用コレクションの作成
まず、insertOne() メソッドを使って、サンプル用のコレクション「demo728」にドキュメントを挿入します。
> db.demo728.insertOne({Price:75});
{
"acknowledged" : true,
"insertedId" : ObjectId("5eab413c43417811278f589b")
}
> db.demo728.insertOne({Price:59});
{
"acknowledged" : true,
"insertedId" : ObjectId("5eab414043417811278f589c")
}
> db.demo728.insertOne({Price:79});
{
"acknowledged" : true,
"insertedId" : ObjectId("5eab414543417811278f589d")
}
> db.demo728.insertOne({Price:89});
{
"acknowledged" : true,
"insertedId" : ObjectId("5eab414843417811278f589e")
}これで、Price フィールドに 75、59、79、89 という4つの異なる値を持つドキュメントが登録されました。
2. find()メソッドで全ドキュメントを表示
次に、find() メソッドを使って、コレクション内のすべてのドキュメントを表示して確認しましょう。
> db.demo728.find();
このクエリを実行すると、以下のような出力が得られます。
{ "_id" : ObjectId("5eab413c43417811278f589b"), "Price" : 75 }
{ "_id" : ObjectId("5eab414043417811278f589c"), "Price" : 59 }
{ "_id" : ObjectId("5eab414543417811278f589d"), "Price" : 79 }
{ "_id" : ObjectId("5eab414843417811278f589e"), "Price" : 89 }3. $lt演算子で条件付き検索を実行
ここからが本題です。Price の値が 80 未満 のレコードだけを取得するには、以下のように $lt 演算子を使用します。
> db.demo728.find({Price:{$lt:80}});実行結果は次のとおりです。
{ "_id" : ObjectId("5eab413c43417811278f589b"), "Price" : 75 }
{ "_id" : ObjectId("5eab414043417811278f589c"), "Price" : 59 }
{ "_id" : ObjectId("5eab414543417811278f589d"), "Price" : 79 }ご覧のとおり、Price が 75、59、79 の3件だけが返され、80 以上である 89 のドキュメントは除外されています。
まとめ
MongoDBで特定の値未満のデータを検索するには、find() メソッドの引数に {フィールド名: {$lt: 値}} という形式の条件を指定します。なお、類似の比較演算子として、「以下」を表す $lte、「より大きい」を表す $gt、「以上」を表す $gte も用意されており、これらを組み合わせることで柔軟な範囲検索が可能になります。日付や数値の範囲絞り込みなど、実務でも頻繁に活用されるテクニックなので、ぜひ覚えておきましょう。
-
MongoDBで特定の値以上のドキュメントを検索する方法($gte演算子の使い方)
MongoDBで特定の値「以上」の値を持つドキュメントを検索したい場合、比較演算子 $gte(greater than or equal)を使用します。$gte は指定した値と等しいか、それより大きい値に一致するドキュメントを抽出できる便利な演算子です。$gteを使った基本構文db.yourCollectionName.find({yourFieldName:{$gte:yourValue}});コレクション名、フィールド名、基準となる値をそれぞれ置き換えて使用します。なお、「より大きい」値のみを取得したい場合は $gt を使いますが、ここでは「以上」を意味する $gte を採用しています。サ
-
MongoDBで特定の数値より大きいフィールド値を持つドキュメントを照合して取得する方法
MongoDBでドキュメントを照合(マッチング)するには、集計パイプライン(aggregate)内で $match を使用します。さらに、特定の数値より大きい値を条件にしたい場合は、比較演算子の $gt(greater than)を組み合わせます。この記事では、実際にコレクションを作成し、$sort や $limit と組み合わせながら、条件に一致するドキュメントを取得する手順を解説します。1. サンプルコレクションの作成まずは insertOne() メソッドを使って、ドキュメントを含むコレクションを作成しましょう。> db.demo730.insertOne({Name : Chri