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

MongoDBのネストされた配列から特定の要素を抽出します


dot(。)表記を使用して、ネストされた配列から特定の要素を抽出します。まず、ドキュメントを使用してコレクションを作成しましょう-

> db.extractParticularElementDemo.insertOne(
...    {
...       "_id" : 101,
...       "StudentName" : "John",
...       "StudentInformation" : [
...          {
...             "Age" : 21,
...             "StudentPersonalInformation" : [
...                {
...                   "StudentNickName" : "Mike",
...                   "StudentFamilyDetails" : [
...                      {
...                         "FatherName" : "Carol"
...                      }
...                   ]
...                },
...                {
...                   "StudentAnotherName" : "David",
...                   "StudentFamilyDetails" : [
...                      {
...                         "FatherName" : "Robert"
...                      }
...                   ]
...                }
...             ]
...          }
...       ]
...    }
... );
{ "acknowledged" : true, "insertedId" : 101 }

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

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

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

{
   "_id" : 101,
   "StudentName" : "John",
   "StudentInformation" : [
      {
         "Age" : 21,
         "StudentPersonalInformation" : [
            {
               "StudentNickName" : "Mike",
               "StudentFamilyDetails" : [
                  {
                     "FatherName" : "Carol"
                  }
            ]
         },
         {
            "StudentAnotherName" : "David",
            "StudentFamilyDetails" : [
               {
                  "FatherName" : "Robert"
               }
         ]
      }
   ]
}
]
}

以下は、ネストされた配列から特定の要素を抽出するためのクエリです-

> db.extractParticularElementDemo.find(
... {'StudentInformation.StudentPersonalInformation.StudentFamilyDetails.FatherName':'Carol'},
... {'StudentInformation.StudentPersonalInformation.StudentFamilyDetails.FatherName':1,"_id":0}
... ).pretty();

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

{
   "StudentInformation" : [
      {
         "StudentPersonalInformation" : [
            {
               "StudentFamilyDetails" : [
                  {
                  }
                  "FatherName" : "Carol"
               ]
            },
            {
               "StudentFamilyDetails" : [
                  {
                     "FatherName" : "Robert"
                  }
               ]
            }
         ]
      }
   ]
}

  1. MongoDBの配列から要素を削除するにはどうすればよいですか?

    配列から要素を削除するには、$pullを使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo279.insertOne({id:[101,103,105,110]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e490af7dd099650a5401a58") } > db.demo279.insertOne({id:[107,111,110]}); {    

  2. サブプロパティとして配列から要素を削除するMongoDBクエリ

    削除するには、MongoDBで$pullを使用します。まず、ドキュメントを使用してコレクションを作成しましょう- > db.demo388.insertOne( ...    { ...       _id: '101', ...       userDetails: { ...          isMarried: false, ...          userInfo: [ ... &n