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

MongoDBのサブドキュメントにフィールドを追加するにはどうすればよいですか?


update()を使用できます。まず、ドキュメントを使用してコレクションを作成しましょう-

> db.addExtraFieldDemo.insertOne(
   {
      "_id": 1,
      "UserName": "Larry" ,
      "UserOtherDetails":[
         {
            "UserCountryName": "US",
            "UserAge":23
         },
         {
            "UserCountryName": "UK",
            "UserAge":24
         }
      ]
   }
);
{ "acknowledged" : true, "insertedId" : 1 }

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

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

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

{
   "_id" : 1,
   "UserName" : "Larry",
   "UserOtherDetails" : [
      {
         "UserCountryName" : "US",
         "UserAge" : 23
      },
      {
         "UserCountryName" : "UK",
         "UserAge" : 24
      }
   ]
}

以下は、MongoDBのサブドキュメントにフィールドを追加するためのクエリです-

> db.addExtraFieldDemo.update({ "_id":1},{ "$set":{ "UserOtherDetails.0.isMarried_" : true }});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

もう一度書類を確認しましょう-

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

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

{
   "_id" : 1,
   "UserName" : "Larry",
   "UserOtherDetails" : [
      {
         "UserCountryName" : "US",
         "UserAge" : 23,
         "isMarried_" : true
      },
      {
         "UserCountryName" : "UK",
         "UserAge" : 24
      }
   ]
}

  1. MongoDBのドキュメントフィールド値から値(TotalPrice – Discount)を差し引く方法は?

    ドキュメントフィールドの値から値を減算するには、MongoDBaggregate()で$subtractを使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo599.insertOne({"TotalPrice":250,"DiscountPrice":35});{    "acknowledged" : true, "insertedId" : ObjectId("5e948192f5f1e70e134e2696") } > db

  2. 既存のMongoDBドキュメントに特定のデータ型(リスト、オブジェクト)のフィールドを追加するにはどうすればよいですか?

    $setを使用できます。ドキュメントを使用してコレクションを作成しましょう- > db.demo732.insertOne({_id:1,Language:"English"}); { "acknowledged" : true, "insertedId" : 1 } > db.demo732.insertOne({_id:2,Language:"Hindi"}); { "acknowledged" : true, "insertedId" : 2 } find