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

配列内のオブジェクトにアクセスするためのMongoDBクエリ


配列内のオブジェクトにアクセスするには、ドット表記を使用します。ドキュメントを使用してコレクションを作成しましょう-

> db.demo299.insertOne(
...   {
...      "id":100,
...      "Name":"Robert",
...      "details":[
...         {
...            "SubjectName":["C++","Python"]
...         },
...         {
...            "SubjectName":["Spring","Hibernate"]
...         }
...      ]
...   }
...);
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e4d685a5d93261e4bc9ea4b")
}
>
>
> db.demo299.insertOne(
...   {
...      "id":101,
...      "Name":"Adam",
...      "details":[
...         {
...            "SubjectName":["Python","JSP"]
...         },
...         {
...            "SubjectName":["Servlet","Operating System"]
...         }
...      ]
...   }
...);
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e4d685b5d93261e4bc9ea4c")
}

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

> db.demo299.find();

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

{
   "_id" : ObjectId("5e4d685a5d93261e4bc9ea4b"), "id" : 100, "Name" : "Robert", "details" : [
      { "SubjectName" : [ "C++", "Python" ] },
      { "SubjectName" : [ "Spring", "Hibernate" ] }
   ]
}
{
   "_id" : ObjectId("5e4d685b5d93261e4bc9ea4c"), "id" : 101, "Name" : "Adam", "details" : [
      { "SubjectName" : [ "Python", "JSP" ] }, { "SubjectName" : [ "Servlet", "Operating System" ] }
   ]
}

以下は、配列内のオブジェクトにアクセスするためのクエリです-

> db.demo299.find({"details.SubjectName":"Servlet"});

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

{
   "_id" : ObjectId("5e4d685b5d93261e4bc9ea4c"), "id" : 101, "Name" : "Adam", "details" : [
      { "SubjectName" : [ "Python", "JSP" ] }, { "SubjectName" : [ "Servlet", "Operating System" ] }
   ] 
}

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

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

  2. ネストされた配列をソートするMongoDBクエリ?

    MongoDBでネストされた配列を並べ替えるには、$sortを使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo505.insertOne( ... { ...    "details": [ ...    { ...       Name:"Chris", ...       "Score":58 ...    }, { ... ...