2017-06-13 5 views
0

にパラメータを設定する必要があります。mongodbのクエリを書くには?私は、このドキュメントを持って配列

{ 
    '_id': 123456, 
    'name': 'myName', 
    'state':[{'user_id':1,user_state:1},{'user_id':11,user_state:2}] 
} 

私は「is_active」、提出された1以上を設定する必要があります:1、「_id」== 123456、およびuser_idの状態配列オブジェクトに== 11.

結果として、それは次のようになります。

{ 
    '_id': 123456, 
    'name': 'myName', 
    'state': [{'user_id':1,user_state:1}, 
       {'user_id':11,user_state:2,'is_active':1}] 
} 

しかし、私は、クエリで立ち往生しています:

{_id: new ObjectID(123456)}, {$set:{'state':???}} 

事前

答えて

1

のおかげで

db.colection_name.update({_id: ObjectId("123456"), "state.user_id": 11}, { $set:{ "state.$.is_active" : 1 }}) 
+0

が今しようとし、これを試してみてください。ありがとう! – Serhiy

+0

働いた。あなたの答えに印を付けました。 – Serhiy

+0

お手伝いします:) –

関連する問題