MongoDB
 Computer >> コンピューター >  >> プログラミング >> MongoDB

範囲の設定に使用される両方の数値を除く範囲間の要素をフェッチするMongoDBクエリ?


両方の数値が50と60であるとしましょう。以下の構文を使用できます-

db.yourCollectionName.find({yourFieldName: { $gt : 50 , $lt : 60 } } );

50と60も含める場合は、以下の構文を使用します-

db.yourCollectionName.find({yourFieldName: { $gte : 50 , $lte : 60 } } );

まず、ドキュメントを使用してコレクションを作成しましょう-

> db.returnEverythingBetween50And60.insertOne({"Amount":55});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd3c42eedc6604c74817cdb")
}
> db.returnEverythingBetween50And60.insertOne({"Amount":45});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd3c432edc6604c74817cdc")
}
> db.returnEverythingBetween50And60.insertOne({"Amount":50});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd3c436edc6604c74817cdd")
}
> db.returnEverythingBetween50And60.insertOne({"Amount":59});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd3c43aedc6604c74817cde")
}
> db.returnEverythingBetween50And60.insertOne({"Amount":60});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd3c43eedc6604c74817cdf")
}
> db.returnEverythingBetween50And60.insertOne({"Amount":49});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd3c442edc6604c74817ce0")
}
> db.returnEverythingBetween50And60.insertOne({"Amount":71});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd3c445edc6604c74817ce1")
}

以下は、find()メソッドを使用してコレクションからすべてのドキュメントを表示するためのクエリです-

> db.returnEverythingBetween50And60.find().pretty();

これにより、次の出力が生成されます-

{ "_id" : ObjectId("5cd3c42eedc6604c74817cdb"), "Amount" : 55 }
{ "_id" : ObjectId("5cd3c432edc6604c74817cdc"), "Amount" : 45 }
{ "_id" : ObjectId("5cd3c436edc6604c74817cdd"), "Amount" : 50 }
{ "_id" : ObjectId("5cd3c43aedc6604c74817cde"), "Amount" : 59 }
{ "_id" : ObjectId("5cd3c43eedc6604c74817cdf"), "Amount" : 60 }
{ "_id" : ObjectId("5cd3c442edc6604c74817ce0"), "Amount" : 49 }
{ "_id" : ObjectId("5cd3c445edc6604c74817ce1"), "Amount" : 71 }

以下は、これらの数値の両方を除いて、50から60までのすべてを返すクエリです-

> db.returnEverythingBetween50And60.find({Amount: { $gt : 50 , $lt : 60 } } );

これにより、次の出力が生成されます-

{ "_id" : ObjectId("5cd3c42eedc6604c74817cdb"), "Amount" : 55 }
{ "_id" : ObjectId("5cd3c43aedc6604c74817cde"), "Amount" : 59 }

  1. MySQLの範囲間の値をフェッチするためのBETWEEN句の代替手段は何ですか?

    BETWEEN句の使用を回避するために、ANDを使用して範囲間の値をフェッチできます。まずテーブルを作成しましょう- mysql> create table DemoTable (    Number int ); Query OK, 0 rows affected (0.62 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values(10); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoT

  2. C ++の[0、n]の範囲に1セットビットしかない数値の数

    数値が与えられ、タスクは、0から指定された数値までの範囲の数値のカウントを計算することです。たとえば、numには1つのセットビットがあります 2進数のセットビットは1で表されます。整数値の2進数を計算するときは常に、0と1の組み合わせとして形成されます。したがって、数字1は、コンピューターの観点からはセットビットとして知られています。 入力 − int num =15 出力 − [0、15]の範囲に1セットビットしかない数値の数は− 4 説明 −指定された数は15であるため、範囲は0〜15です。次に、4桁を計算します −の2進数 1111=4セットビット。ここで、1セットビット