2016-07-07 2 views
0

나는 깊은 배열을 업데이트하고 싶지만 제대로 업데이트하지 못할 ... nodejs에 몽구스를 사용하고 있습니다 ..이 분야의 스키마는 내가 https://jira.mongodb.org/browse/SERVER-831의 도움으로 쿼리를 적용했다몽구스에서 깊은 배열을 업데이트하는 방법은 무엇입니까?

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

... 다음과 같습니다

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

시간 동안 도움을 필요로합니다 몽구스와 관련이있어서 키당 $ 연산자를 두 번 이상 사용할 수 없습니다. 하위 문서를 검색하려면 DocumentArray.id(id) 메서드를 사용하여 체크 아웃하십시오. Noam El이 this 질문에 대한 답변을 확인하십시오. 위 메서드를 사용하기 전에 가장 바깥 쪽 문서에서 findById()를 수행하는 데 도움이 될 수 있습니다.

희망이 있으면 올바른 방향으로 안내 할 수 있습니다.

관련 문제