[MONGODB] 어떻게하여 MongoDB에서 배열의 n 번째 요소를 삭제합니다
MONGODB어떻게하여 MongoDB에서 배열의 n 번째 요소를 삭제합니다
예를 들어 내가 문서를
db.test.save({_id: 1, list:[
{key: "a"},
{key: "b"},
{key: "c"},
{key: "d"},
{key: "e"}
]})
난 목록에서 두 번째 요소를 제거하면된다. 지금 나는이 단계에서 그렇게. 우선 나는 내가 목록 필드에서 모든 널 (NULL) 값을 끌어 그 후, null이 될 것입니다, 요소를 제거하지 마십시오 두 번째 목록 요소 만 해제 연산자를 설정 해제
db.test.update({_id: 1}, {$unset: {"list.2": 1}})
db.test.update({_id: 1}, {$pull: {list: null}})
나는 한 번의 작업으로 그렇게 솔루션이 있는지 물어보고 싶은?
해결법
-
==============================
1.아니, 불행하게도 당신이하고있는 것은 현재 최선의 방법입니다. 에서 MongoDB를, 당신이 바로이 문제에 대한 락스로 연결 인덱스에 의해 배열 요소를 제거 할 방법 :이 질문에서보세요.
아니, 불행하게도 당신이하고있는 것은 현재 최선의 방법입니다. 에서 MongoDB를, 당신이 바로이 문제에 대한 락스로 연결 인덱스에 의해 배열 요소를 제거 할 방법 :이 질문에서보세요.
-
==============================
2.당신은 당신이 제거 할 값을 알고있는 경우
당신은 당신이 제거 할 값을 알고있는 경우
db.test.update({{_id: 1},{"$pull" : {"list" : { "key" : "c"}}},false,false)
에 대한 추가 정보
http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-ValueinanArray
-
==============================
3.아니 현재 시간. / 당기 배열 인덱스에 의해 제거에는 직선 방법은 없습니다에서이 대답했다한다.
아니 현재 시간. / 당기 배열 인덱스에 의해 제거에는 직선 방법은 없습니다에서이 대답했다한다.
해당 작업을 요청 개방 문제는 원자 해결책이 아니다에도 불구하고이 해결 방법, 확인에도 불구하고있다.
from https://stackoverflow.com/questions/7227890/how-to-delete-n-th-element-of-array-in-mongodb by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] 포함 된 문서에 'upsert' (0) | 2019.12.24 |
---|---|
[MONGODB] 몽구스 - 어떻게하여 그룹과 채우려면? (0) | 2019.12.24 |
[MONGODB] 쉽게에 가이드를 저장하는 실제 GUID를 검색하는 효율적인 방법이 무엇인지 문서의 아이디에 대한 MongoDB를하고 가이드와 함께? (0) | 2019.12.24 |
[MONGODB] MongoDB의 변수를 사용하는 방법지도 기능을지도-감소 (0) | 2019.12.24 |
[MONGODB] MongoDB의 연결을 확인하는 방법 (0) | 2019.12.24 |