문서는 3 개 배열 요소의 조합에 특이 인덱스가,mongoDB에 인덱스가있는 배열 요소를 삭제하는 방법은 무엇입니까?
{
"_id":"ffffff999999999f9ff9f9f9f",
"Name" : "John Doe",
"Array" : [{
"Id1" : "a8ed3d86b8464e0cae4672cef3862860",
"Id2" : "6d7aac14b1e142abafde167d928e3dbc",
"Id3" : "2323232"
}]
}
과 같다. 그래서 인덱스는
"key" : {
"Array.Id1" : 1,
"Array.Id2" : 1,
"Array.Id3" : 1
},
"unique" : true,
, 이런 식으로 내 요구 사항을 찾습니다 : 나는 "_id"값을 기준으로 문서를 찾을 완전히 배열 요소를 제거하고 싶습니다.
문제 : 이런 식으로 뭔가를 시도하고 있었다 ,
db.Collection.update({"_id":"ffffffff52a8a15ce4b05d6a8d40f973"},{$unset:{Array:1}})
내가 배열 요소를 설정 해제하려고 할 때, 첫 번째 업데이트는 통과하지만, 연속 사람이 다음 오류와 함께 실패,
* E11000 중복 키 에러 인덱스 :. int.Collection $ Array.Id1_1_Array.Id2_1_Array.Id3_1 DUP 키 : {: 널 (null) : 널 (null) : 널 (null)} *
모든 작업이 있다면 나는 궁금 이 문제에 대해 주위에.
거대한 컬렉션에서 이것을 실행해야하고 색인을 수정하는 것은 옵션이 아닙니다.
어떤 제안이 도움이 될 것입니다.
감사합니다.
색인을 수정하거나 제거해야합니다. – WiredPrairie