2014-07-04 2 views
1

내부 배열에서 요소를 제거 I 다음 몽고 구조가 있습니다몽고 : 배열

{ 
"_id": 123, 
"rooms": [ 
    { 
     "room_code": 456, 
     "img": [ 
      { 
       "link": "blah", 
       "title": "Title" 
      }, 
      { 
       "link": "blah2", 
       "title": "Title2" 
      } 
     ] 
    }, 
    { 
     "room_code": 789, 
     "img": [ 
      { 
       "link": "blah", 
       "title": "Title" 
      }, 
      { 
       "link": "blah3", 
       "title": "Title3" 
      } 
     ] 
    } 
] 
} 

지금, 나는 "rooms.img"키 "link":"blah"에서 해당 요소를 제거 할를. 이처럼 :

{ 
"_id": 123, 
"rooms": [ 
    { 
     "room_code": 456, 
     "img": [ 
      { 
       "link": "blah2", 
       "title": "Title2" 
      } 
     ] 
    }, 
    { 
     "room_code": 789, 
     "img": [ 
      { 
       "link": "blah3", 
       "title": "Title3" 
      } 
     ] 
    } 
] 
} 

내가 사용하려고

db.collections.update({"_id":123},{$pull: { 'rooms':{'img': { 'l': 'blah' } }}}) 

db.collections.update({"_id":123},{$pull: { 'room_info.img': { 'l': 'blah' } }}) 

그러나 그들 중 어느 것도 노력하고 있습니다. 다른 목록 ("rooms")의 일부인 목록 ("img")에서 요소를 제거하는 방법은 무엇입니까? 제발 조언.

+0

'$ elemMatch' 여기에 도움이 될 수 있습니다. –

답변

0

당신은 내 이전 게시물에서 또한 모양에 투사 opperator Doc

을 사용해야합니다 Here