2017-02-14 12 views
1

MeteorまたはnodeJSのMongoDBドキュメントの配列の特定の要素の値を増やすにはどうすればよいですか?MongoDB nodeJSのインデックスによるドキュメントの配列要素の更新

言って、私は文書を以下ました:

{ 
    "_id" : "4tP6ewe4Z5kwYA3Je", 
    "name" : "chutia", 
    "address" : "shonir akhra", 
    "itemCount" : "4", 
    "items" : [ 
     "3", 
     "4", 
     "13", 
     "24" 
    ] 
} 

私はitems配列のn番目の要素をインクリメントする必要があります。ここで、nは変数です。

答えて

1

によって商品の最初の要素を増やすこれを行うための正しい方法である:idxは、配列インデックスである

{$inc: {[`items.${idx}`]: 1}} 

。礼儀MasterAM's comment

1

https://docs.mongodb.com/manual/reference/operator/update/inc/、 ここに記載されているように、配列内の要素をドット表記でインクリメントすることができます。

次の例では、1

db.<collection>.update(
<query>, 
{ $inc: { "items.0": 1 } } 
) 
+0

私の場合、配列のインデックスは変数になります。だから、 '' items.0 "'はうまく動作しません。これに対処する方法は? –

+3

'' {$ inc:{['items。$ {idx}']:1}} '' '、' idx'はあなたのインデックスです。 – MasterAM

+0

@mostafiz MasterAMのコメントに基づいて解決しました –

関連する問題