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

MongoDBで配列の配列をクエリしますか?


$ in演算子を使用して、MongoDBの配列の配列をクエリします。概念を理解するために、ドキュメントを使用してコレクションを作成しましょう。ドキュメントを使用してコレクションを作成するためのクエリは次のとおりです-

> db.arrayOfArraysDemo.insertOne({"EmployeeName":"Larry","EmployeeSkills":[["Java","MongoDB","MySQL","SQL Server"]]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c7f7a8d8d10a061296a3c5b")
}
> db.arrayOfArraysDemo.insertOne({"EmployeeName":"Mike","EmployeeSkills":[["C","C++"]]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c7f7aa68d10a061296a3c5c")
}

find()メソッドを使用して、コレクションのすべてのドキュメントを表示します。クエリは次のとおりです-

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

以下は出力です-

{
   "_id" : ObjectId("5c7f7a8d8d10a061296a3c5b"),
   "EmployeeName" : "Larry",
   "EmployeeSkills" : [
      [
         "Java",
         "MongoDB",
         "MySQL",
         "SQL Server"
      ]
   ]
}
{
   "_id" : ObjectId("5c7f7aa68d10a061296a3c5c"),
   "EmployeeName" : "Mike",
   "EmployeeSkills" : [
      [
         "C",
         "C++"
      ]
   ]
}

これがMongoDBの配列の配列をクエリするためのクエリです-

> db.arrayOfArraysDemo.find({'EmployeeSkills':{$elemMatch:{$elemMatch:{$in:['MongoDB']}}}
}).pretty();

以下は出力です-

{
   "_id" : ObjectId("5c7f7a8d8d10a061296a3c5b"),
   "EmployeeName" : "Larry",
   "EmployeeSkills" : [
      [
         "Java",
         "MongoDB",
         "MySQL",
         "SQL Server"
      ]
   ]
}

  1. C言語の配列

    配列は、連続したメモリ位置にある同じタイプの要素のコレクションです。最小のアドレスは最初の要素に対応し、最大のアドレスは最後の要素に対応します。 配列インデックスはzero(0)で始まり、配列のサイズから1を引いたもの(配列サイズ-1)で終わります。配列サイズはゼロより大きい整数である必要があります。 例を見てみましょう If array size = 10 First index of array = 0 Last index of array = array size - 1 = 10-1 = 9 これがC言語の配列の構文です type array_name[array_size ]

  2. Cの多次元配列

    ここに多次元配列が表示されます。配列は基本的に同種のデータのセットです。それらは連続したメモリ位置に配置されます。さまざまなケースで、配列が1次元ではないことがわかります。 2次元または多次元の形式で配列を作成する必要がある場合があります。 多次元配列は、2つの異なるアプローチで表すことができます。これらは行メジャーアプローチであり、もう1つは列メジャーアプローチです。 r行c列の2次元配列を考えてみましょう。配列内の要素の数はn=r*cです。 0≤i