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

すべての配列項目が指定された条件よりも小さいMongoDBクエリ?


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

> db.arrayElementsNotGreaterThanDemo.insertOne({"Scores":[89,43,32,45]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd9e9f9b50a6c6dd317adb3")
}
> db.arrayElementsNotGreaterThanDemo.insertOne({"Scores":[32,33,34,40]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd9ea13b50a6c6dd317adb4")
}
> db.arrayElementsNotGreaterThanDemo.insertOne({"Scores":[45,56,66,69]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd9ea25b50a6c6dd317adb5")
}
> db.arrayElementsNotGreaterThanDemo.insertOne({"Scores":[46,66,77,88]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd9ea3cb50a6c6dd317adb6")
}

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

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

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

{
   "_id" : ObjectId("5cd9e9f9b50a6c6dd317adb3"),
   "Scores" : [
      89,
      43,
      32,
      45
   ]
}
{
   "_id" : ObjectId("5cd9ea13b50a6c6dd317adb4"),
   "Scores" : [
      32,
      33,
      34,
      40
   ]
}
{
   "_id" : ObjectId("5cd9ea25b50a6c6dd317adb5"),
   "Scores" : [
      45,
      56,
      66,
      69
   ]
}
{
   "_id" : ObjectId("5cd9ea3cb50a6c6dd317adb6"),
   "Scores" : [
      46,
      66,
      77,
      88
   ]
}

以下は、すべての配列項目が指定された条件よりも小さいクエリです-

> db.arrayElementsNotGreaterThanDemo.find({Scores: {$not: {$gt:45}}});

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

{ "_id" : ObjectId("5cd9ea13b50a6c6dd317adb4"), "Scores" : [ 32, 33, 34, 40 ] }

  1. MongoDBのサブドキュメントの配列をクエリする

    サブドキュメントの配列をクエリするには、MongoDBで$unwindを使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo499.insertOne({ ... "details": ...    [ ...       { ...          Name :"MIT", ...          Rank: 1, ...      

  2. 文字列に含まれる文字が4文字未満のすべての行を検索するMySQLクエリ?

    CHAR_LENGTH()を使用して、すべての文字列の文字数を検索し、4文字未満の文字列を取得します。まずテーブルを作成しましょう- mysql> create table DemoTable -> ( -> Name varchar(100) -> ); Query OK, 0 rows affected (1.38 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('John'); Query OK, 1 row affect