2016-07-07 14 views
0

私はhttps://jira.mongodb.org/browse/SERVER-831の助けを借りて、クエリを適用していた...このフィールドの スキーマは以下の通りです..私は深い配列を更新したいが正しく更新カント...マングースのディープアレイを更新するには?

case : [{ 
visit : [{ 
      visit_no : Number, 
      treat : { 
      rep : [{name : String,img :{type : String,match : /^http:\/\//i}}] 
      } 
}]}] 

を をnodejsでマングースを使用しています

update({"_id" : fields.id,"case._id" : fields.case,"case.visit._id" : fields.visit,"case.visit.treat.rep._id" : req.body.PInv},{$set : {"case.$0.visit.$1.treat.rep.$2.img" : req.body.img}}) 

は、しかし、エラーを示すも、適切なエラーを与えてはありません...以下に示します。.. 私はこの問題ことができた

答えて

0

時間の助けが必要になりますmongooseと何か関係があるので、キーごとに$演算子を2回以上使用することはできません。サブ文書を検索するには、DocumentArray.id(id)メソッドを使用してチェックアウトしてください。 Noam Elの答えはthisです上記のメソッドを使用する前に、一番外側のドキュメントでfindById()を実行するのに役立つかもしれません。

これは正しい方向に向けるのに役立ちます。

関連する問題