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

配列内のMongoDBをネイティブクエリし、カウントを取得します


配列内でクエリを実行し、存在を確認してカウントを取得するには、$existsを使用します。ドキュメントを使用してコレクションを作成しましょう-

> db.demo296.insertOne(
...   {
...      "id":101,
...      "Name":"Chris",
...      "details":[
...         {
...            SubjectId:[101,103],
...            "SubjectName":["MySQL","MongoDB"]
...         },
...         {
...            SubjectId:[102,104],
...            "SubjectName":["Java","C"]
...         }
...      ]
...   }
...);
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e4d51715d93261e4bc9ea3b")
}
> db.demo296.insertOne(
...{
...   "id":102,
...   "Name":"David",
...   "details":[
...      {
...         SubjectId:[110,113]
...
...      },
...      {
...         SubjectId:[112,114]
...
...      }
...   ]
...}
...);
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e4d519b5d93261e4bc9ea3c")
}
> db.demo296.insertOne(
...   {
...      "id":103,
...      "Name":"Bob",
...      "details":[
...         {
...            "SubjectName":["C++","Python"]
...         },
...         {
...            "SubjectName":["Spring","Hibernate"]
...         }
...      ]
...   }
...);
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e4d52315d93261e4bc9ea3d")
}

find()メソッドを使用してコレクションからすべてのドキュメントを表示する-

> db.demo296.find();

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

{
   "_id" : ObjectId("5e4d51715d93261e4bc9ea3b"), "id" : 101, "Name" : "Chris", "details" : [
      { "SubjectId" : [ 101, 103 ], "SubjectName" : [ "MySQL", "MongoDB" ] },
      { "SubjectId" : [ 102, 104 ], "SubjectName" : [ "Java", "C" ] }
   ]
}
{
   "_id" : ObjectId("5e4d519b5d93261e4bc9ea3c"), "id" : 102, "Name" : "David", "details" : [
      { "SubjectId" : [ 110, 113 ] }, { "SubjectId" : [ 112, 114 ] }
   ]
}
{
   "_id" : ObjectId("5e4d52315d93261e4bc9ea3d"), "id" : 103, "Name" : "Bob", "details" : [
      { "SubjectName" : [ "C++", "Python" ] }, { "SubjectName" : [ "Spring", "Hibernate" ] }
   ] 
}

以下は、配列内のMongoDBをクエリして、カウントを取得する方法です-

> db.demo296.count( {    'details.SubjectName': {$exists: true }} );

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

2

  1. MongoDBで配列アイテムをグループ化し、同様の価格の製品をカウントしますか?

    配列アイテムをグループ化するには、$groupを$sortとともに使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo566.insertOne( ... { ... ...    "ProductInformation" : [ ...       { ...          "ProductName" : "Product-1", ...        

  2. ドキュメント内の配列アイテムの数をカウントし、新しいフィールドに表示するMongoDBクエリ

    ドキュメント内の配列アイテムの数をカウントするには、MongoDBで$sizeを使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo703.insertOne({"ListOfSubject":["MySQL","MongoDB"]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea6ebaf551299a9f98c93b4"