2017-05-13 20 views
0

바보 같은 질문인데 변명의 여지가 있지만 몽고에 상당히 익숙합니다.mongodb의 하위 문서 업데이트 관련 문제

films 아래에 나열된 하위 문서가 있습니다. 내 localhost에 문제없이 하나의 하위 문서를 사용하고 있습니다; MLAB와 Heroku가 그것을 테스트 할 때

db.update(
    { _id: req.params.id, 'films.filmId': req.params.filmId }, 
    { $set: { 
    'films.$.watched': watched, 
    'films.$.watchedAt': watchedAt 
    }}) 

그러나, 그것은 오직 관계없이 filmId의 그것을 전달, films에 나열된 첫 번째 하위 문서를 업데이트합니다.

답변

0

이 업데이트는 $ 연산자를 사용하기 때문에 첫 번째 배열 요소 만 업데이트합니다.

$ 연산자는 쿼리 문서와 일치하는 배열의 첫 번째 요소에 대한 자리 표시 자입니다. 업데이트 컨텍스트에서이 연산자에 대한 설명서는 here입니다.