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

MongoDBを使用してネストされた配列に新しいアイテムを追加するにはどうすればよいですか?


これには、update()とともにfind()を使用します。ドキュメントを使用してコレクションを作成しましょう-

> db.demo124.insertOne(
...    {
...       "Name" : "John",
...       "Id" : 101,
...       "ProjectDetails" : [{
...          "ProjectName1" : "Online Book",
...          "ProjectName2" : "Online Banking"
...    }, {
...          "ProjectName1" : "Online Library Management System",
...          "ProjectName2" : "School Management System"
...       }]
...    }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e2f2c8b140daf4c2a3544bb")
}

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

> db.demo124.find();

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

{
   "_id" : ObjectId("5e2f2c8b140daf4c2a3544bb"), "Name" : "John", "Id" : 101, "ProjectDetails" : [
      { "ProjectName1" : "Online Book", "ProjectName2" : "Online Banking" },
      { "ProjectName1" : "Online Library Management System", "ProjectName2" : "School Management System" }
   ] 
}

以下は、ネストされた配列に新しいアイテムを追加するためのクエリです-

> db.demo124.find().toArray().forEach(
...    function(d){
...       for(var i = 0; i< d.ProjectDetails.length; ++i) {
...          d.ProjectDetails[i]['ProjectName3'] = 'Online Snake Game';
...       }
...       db.demo124.update({_id: d._id}, d);
...    }
... );

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

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

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

{
   "_id" : ObjectId("5e2f2c8b140daf4c2a3544bb"),
   "Name" : "John",
   "Id" : 101,
   "ProjectDetails" : [
      {
         "ProjectName1" : "Online Book",
         "ProjectName2" : "Online Banking",
         "ProjectName3" : "Online Snake Game"
      },
      {
         "ProjectName1" : "Online Library Management System",
         "ProjectName2" : "School Management System",
         "ProjectName3" : "Online Snake Game"
      }
   ]
}

  1. MongoDBで各グループの最大アイテムを選択するにはどうすればよいですか?

    $groupを使用できます。ドキュメントを使用してコレクションを作成しましょう- > db.demo659.insertOne({Name:"Chris",CountryName:"US","Marks":50}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea1a50724113ea5458c7cf9") } > db.demo659.insertO

  2. MongoDBアグリゲーションで配列の要素のサブセットを一緒に追加するにはどうすればよいですか?

    配列の要素のサブセットを追加するには、$firstと$sumを一緒に使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo610.insertOne({Values:[10,20,30,40,50]});{    "acknowledged" : true, "insertedId" : ObjectId("5e9747b8f57d0dc0b182d62e") } find()メソッドを使用してコレクションからすべてのドキュメントを表示する- > db.demo610.f