2016-07-07 101 views
0

我使用的貓鼬在...的NodeJS我 要更新深數組,但不能正確地更新.. 架構這一領域的低於...如何更新貓鼬深度數組?

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

我曾與https://jira.mongodb.org/browse/SERVER-831幫助應用查詢如下圖所示...

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

可能^ h與貓鼬有關,不允許您每個按鍵使用$操作符超過一次。使用DocumentArray.id(id)方法檢出子文檔。查看Noam El對this問題的回答。在使用上述方法之前,它可能會幫助您在最外層的文檔上執行findById()。

希望這有助於指引您朝着正確的方向發展!