Mongodb: クエリで大なり小なりを使用する方法


MongoDB で次の演算子を使用して、上または下のクエリを実行できます。

  • $lt : 以下
  • $lte : 以下
  • $gt : より大きい
  • $gte : 以上

次のメソッドは、これらの演算子の一般的な使用方法を示しています。

方法 1: 「より大きい」クエリ

 db.myCollection.find({field1: { $gt : 25 }})

方法 2: 未満のクエリ

 db.myCollection.find({field1: { $lt : 25 }})

方法 3: 「より大きい」および「より小さい」をクエリする

 db.myCollection.find({field1: { $gt : 25 , $lt : 32 }})

方法 4: より大きいまたはより小さいクエリを実行する

 db.myCollection.find({ " $or ": [ {" field1 ": { $gt : 30 }}, {" field1 ": { $lt : 20 }} ] })

次の例は、次の文書を使用して収集チームで実際に各方法を使用する方法を示しています。

 db.teams.insertOne({team: " Mavs ", points: 31})
db.teams.insertOne({team: " Spurs ", points: 22})
db.teams.insertOne({team: " Rockets ", points: 19})
db.teams.insertOne({team: " Warriors ", points: 26})
db.teams.insertOne({team: " Cavs ", points: 33})

例 1: より大きいクエリ

次のコードは、「ポイント」フィールドの値が 25 より大きいすべてのドキュメントをクエリする方法を示しています。

 db.teams.find({points: { $gt : 25 }})

このクエリは次のドキュメントを返します。

 { _id: ObjectId("6203e4a91e95a9885e1e764f"),
  team: 'Mavs',
  points: 31 }
{ _id: ObjectId("6203e4a91e95a9885e1e7652"),
  team: 'Warriors',
  points: 26 }
{ _id: ObjectId("6203e4a91e95a9885e1e7653"),
  team: 'Cavs',
  points: 33 }

3 つの出力ドキュメントのそれぞれの「ポイント」フィールドの値が 25 より大きいことに注意してください。

例 2: 未満のクエリ

次のコードは、「ポイント」フィールドの値が 25 未満であるすべてのドキュメントをクエリする方法を示しています。

 db.teams.find({points: { $lt : 25 }})

このクエリは次のドキュメントを返します。

 { _id: ObjectId("6203e4a91e95a9885e1e7650"),
  team: 'Spurs',
  points: 22 }
{ _id: ObjectId("6203e4a91e95a9885e1e7651"),
  team: 'Rockets',
  points: 19 }

両方の出力ドキュメントの「ポイント」フィールドの値が 25 未満であることに注意してください。

例 3: より大きいおよびより小さい

次のコードは、「ポイント」フィールドの値が 25 より大きく32 未満であるすべてのドキュメントをクエリする方法を示しています。

 db.teams.find({points: { $gt : 25 , $lt : 32 }})

このクエリは次のドキュメントを返します。

 { _id: ObjectId("6203e4a91e95a9885e1e764f"),
  team: 'Mavs',
  points: 31 }
{ _id: ObjectId("6203e4a91e95a9885e1e7652"),
  team: 'Warriors',
  points: 26 }

両方の出力ドキュメントの「ポイント」フィールドの値が 25 より大きく32 より小さいことに注意してください。

例 4: 以上または以下

次のコードは、「ポイント」フィールドの値が 30 より大きい20 より小さいすべてのドキュメントをクエリする方法を示しています。

 db.teams.find({ " $or ": [ {" points ": { $gt : 30 }}, {" points ": { $lt : 20 }} ] })

このクエリは次のドキュメントを返します。

 { _id: ObjectId("6203e4a91e95a9885e1e764f"),
  team: 'Mavs',
  points: 31 }
{ _id: ObjectId("6203e4a91e95a9885e1e7651"),
  team: 'Rockets',
  points: 19 }
{ _id: ObjectId("6203e4a91e95a9885e1e7653"),
  team: 'Cavs',
  points: 33 }

各出力ドキュメントの「ポイント」フィールドの値が 30 より大きい20 より小さいことに注意してください。

追加リソース

次のチュートリアルでは、MongoDB で他の一般的な操作を実行する方法について説明します。

MongoDB: 日付範囲を指定してクエリを実行する方法
MongoDB: 「NO IN」クエリの使用方法
MongoDB: 特定のフィールドで「not null」を検索する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です