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

Mongo DBドキュメントの単一のリストアイテムを更新し、1ずつインクリメントします


これには、位置演算子($)を使用します。フィールド値を1インクリメントするには、$inc演算子を使用します。ドキュメントを使用してコレクションを作成しましょう-

>db.demo39.insertOne({"ProductDetails":[{"ProductName":"Product-1","ProductPrice":349}]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e176d54cfb11e5c34d898df")
}
>db.demo39.insertOne({"ProductDetails":[{"ProductName":"Product-2","ProductPrice":998}]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e176d61cfb11e5c34d898e0")
}
>db.demo39.insertOne({"ProductDetails":[{"ProductName":"Product-3","ProductPrice":145}]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e176d6acfb11e5c34d898e1")
}

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

> db.demo39.find();

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

{ "_id" : ObjectId("5e176d54cfb11e5c34d898df"), "ProductDetails" : [ { "ProductName" : "Product-1", "ProductPrice" : 349 } ] }
{ "_id" : ObjectId("5e176d61cfb11e5c34d898e0"), "ProductDetails" : [ { "ProductName" : "Product-2", "ProductPrice" : 998 } ] }
{ "_id" : ObjectId("5e176d6acfb11e5c34d898e1"), "ProductDetails" : [ { "ProductName" : "Product-3", "ProductPrice" : 145 } ] }

以下は、MongoDBドキュメントの単一のリストアイテムを更新するためのクエリです-

> db.demo39.update({"_id" : ObjectId("5e176d61cfb11e5c34d898e0"),'ProductDetails.ProductName':"Product-2"},{$inc: {'ProductDetails.$.ProductPrice': 1}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

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

> db.demo39.find();

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

{ "_id" : ObjectId("5e176d54cfb11e5c34d898df"), "ProductDetails" : [ { "ProductName" : "Product-1", "ProductPrice" : 349 } ] }
{ "_id" : ObjectId("5e176d61cfb11e5c34d898e0"), "ProductDetails" : [ { "ProductName" : "Product-2", "ProductPrice" : 999 } ] }
{ "_id" : ObjectId("5e176d6acfb11e5c34d898e1"), "ProductDetails" : [ { "ProductName" : "Product-3", "ProductPrice" : 145 } ] }

  1. Python以外で試してみてください

    Pythonで例外処理を使用するには、最初に、を除くすべての句をキャッチする必要があります。 Pythonには、例外をキャッチするための「try」および「except」キーワードが用意されています。 「try」ブロックコードは、ステートメントごとに実行されます。ただし、例外が発生した場合、残りの「try」コードは実行されず、except句が実行されます。 try:    some_statements_here except:    exception_handling 非常に簡単な例で上記の構文を見てみましょう- try:    

  2. 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に変更