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

MongoDBのjsonのリストにあるキーの値を更新するにはどうすればよいですか?


まず、ドキュメントを使用してコレクションを作成しましょう

> db.updateListOfKeyValuesDemo.insertOne( { "StudentDetails":[ { "StudentName":"John", "StudentAge":23, "StudentCountryName":"US" }, { "StudentName":"Carol", "StudentAge":24, "StudentCountryName":"UK" }, { "StudentName":"Bob", "StudentAge":22, "StudentCountryName":"AUS" } ] } );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c9b5b759882024390176545")
}

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

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

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

{
   "_id" : ObjectId("5c9b5b759882024390176545"),
   "StudentDetails" : [
      {
         "StudentName" : "John",
         "StudentAge" : 23,
         "StudentCountryName" : "US"
      },
      {
         "StudentName" : "Carol",
         "StudentAge" : 24,
         "StudentCountryName" : "UK"
      },
      {
         "StudentName" : "Bob",
         "StudentAge" : 22,
         "StudentCountryName" : "AUS"
      }
   ]
}

以下は、MongoDBのjsonのリストにあるキーの値を更新するためのクエリです

> var documentFromCollection = db.updateListOfKeyValuesDemo.findOne({
...    "_id": ObjectId("5c9b5b759882024390176545")
... });
>
> documentFromCollection.StudentDetails.forEach(function(updateStudent) {
...    updateStudent.StudentName = "Ramit";
... });
> db.updateListOfKeyValuesDemo.update(
...    { "_id": documentFromCollection ._id },
...    { "$set": { "StudentDetails": documentFromCollection.StudentDetails } }
... );
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

キー値のリストが更新されているかどうかを確認しましょう

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

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

{
   "_id" : ObjectId("5c9b5b759882024390176545"),
   "StudentDetails" : [
      {
         "StudentName" : "Ramit",
         "StudentAge" : 23,
         "StudentCountryName" : "US"
      },
      {
         "StudentName" : "Ramit",
         "StudentAge" : 24,
         "StudentCountryName" : "UK"
      },
      {
         "StudentName" : "Ramit",
         "StudentAge" : 22,
         "StudentCountryName" : "AUS"
      }
   ]
}

  1. Pythonリスト要素の値を更新するにはどうすればよいですか?

    Pythonリストオブジェクトは変更可能です。したがって、リストオブジェクトを更新することができます。 リストを更新するには、アクセスを使用して任意のアイテムに新しい値を割り当てます。たとえば、4番目のアイテム(0から数えるインデックス)を以前の値の2倍に設定する場合 >>> L1 [10, 50, 20, 9, 40, 100, 60, 30, 1, 56] >>> L1[4]=L1[4]*2 >>> L1 [10, 50, 20, 9, 80, 100, 60, 30, 1, 56] 4番目のインデックスのアイテムが40から80に変更

  2. Pythonタプル要素の値を更新するにはどうすればよいですか?

    Pythonタプルは不変オブジェクトです。したがって、それを更新しようとする操作は許可されません。ただし、次の回避策を使用できます。 まず、組み込み関数list()を使用してタプルをリストに変換します。アイテムをいつでも更新して、特定のインデックスの要素に新しい値を割り当てるオブジェクトを一覧表示できます。次に、別の組み込み関数tuple()を使用して、このリストオブジェクトをタプルに変換し直します。 >>> T1=(10,50,20,9,40,25,60,30,1,56) >>> L1=list(T1) >>> L1[5]=100 >