MongoDBで特定の値以上のドキュメントを検索する方法($gte演算子の使い方)
MongoDBで特定の値「以上」の値を持つドキュメントを検索したい場合、比較演算子 $gte(greater than or equal)を使用します。$gte は指定した値と等しいか、それより大きい値に一致するドキュメントを抽出できる便利な演算子です。
$gteを使った基本構文
db.yourCollectionName.find({yourFieldName:{$gte:yourValue}});コレクション名、フィールド名、基準となる値をそれぞれ置き換えて使用します。なお、「より大きい」値のみを取得したい場合は $gt を使いますが、ここでは「以上」を意味する $gte を採用しています。
サンプルコレクションの作成
まずは動作確認のため、サンプルデータを含むコレクションを作成しましょう。insertOne() メソッドを使って複数のドキュメントを挿入します。
> db.demo571.insertOne({"Price":140});{
"acknowledged" : true, "insertedId" : ObjectId("5e909b3439cfeaaf0b97b587")
}
> db.demo571.insertOne({"Price":100});{
"acknowledged" : true, "insertedId" : ObjectId("5e909b3639cfeaaf0b97b588")
}
> db.demo571.insertOne({"Price":110});{
"acknowledged" : true, "insertedId" : ObjectId("5e909b3839cfeaaf0b97b589")
}
> db.demo571.insertOne({"Price":240});{
"acknowledged" : true, "insertedId" : ObjectId("5e909b3c39cfeaaf0b97b58a")
}登録済みドキュメントの全件表示
find() メソッドを使用すると、コレクション内のすべてのドキュメントを表示できます。
> db.demo571.find();
上記のコマンドを実行すると、次のような出力が得られます。
{ "_id" : ObjectId("5e909b3439cfeaaf0b97b587"), "Price" : 140 }
{ "_id" : ObjectId("5e909b3639cfeaaf0b97b588"), "Price" : 100 }
{ "_id" : ObjectId("5e909b3839cfeaaf0b97b589"), "Price" : 110 }
{ "_id" : ObjectId("5e909b3c39cfeaaf0b97b58a"), "Price" : 240 }特定の値以上のドキュメントを抽出するクエリ
それでは本題です。Price フィールドが 140 以上であるドキュメントだけを取得するには、以下のようにクエリを記述します。
> db.demo571.find({Price:{$gte:140}});実行結果は次の通りです。Price が 140 のドキュメントも含まれている点に注目してください。
{ "_id" : ObjectId("5e909b3439cfeaaf0b97b587"), "Price" : 140 }
{ "_id" : ObjectId("5e909b3c39cfeaaf0b97b58a"), "Price" : 240 }まとめ
MongoDBで特定の値以上のドキュメントを検索するには、find() メソッドの条件に $gte 演算子を組み合わせるだけで簡単に実現できます。「厳密に大きい値」を求める場合は $gt を、「以下」の場合は $lte を使うなど、用途に応じて比較演算子を使い分けるとよいでしょう。
-
特定のFirstNameとLastNameを持つドキュメントを検索するMongoDBクエリの書き方
はじめにMongoDBで特定のFirstNameとLastNameを持つドキュメントを検索するには、$and演算子と$in演算子を組み合わせて使用します。この記事では、実際のコード例を通して、find()メソッドでこの条件を実装する方法を解説します。サンプルコレクションの作成まず、insertOne()メソッドを使ってドキュメントを含むコレクションを作成しましょう。> db.demo692.insertOne({FirstName:"Chris","LastName":"Brown"}); { "acknowl
-
MongoDBで価格が特定の値未満のレコードを検索する方法($lt演算子の使い方)
MongoDBで、価格(Price)が特定の値より小さいレコードを検索したい場合には、比較クエリ演算子の一つである $lt(less than)を使用します。$ltは「指定した値より小さい」ドキュメントのみを抽出するための演算子です。この記事では、実際にコレクションを作成し、$lt演算子を使って条件に合致するドキュメントを検索する手順を順番に解説します。1. テスト用コレクションの作成まず、insertOne() メソッドを使って、サンプル用のコレクション「demo728」にドキュメントを挿入します。> db.demo728.insertOne({Price:75}); { ac