2017-12-13 14 views
0

키 (예 : ips)를 삭제하여 스키마 (예 : users)를 수정했습니다. 따라서 데이터베이스의 모든 문서에서이 키를 삭제하려고합니다.모든 문서에서 키 삭제

예를 들어, mongo console 또는 Robo 3T에서 db.getCollection('users').find({})은 모든 사용자를 반환합니다. 그들 중 일부는 ips 키를 포함합니다. 누구든지 콘솔이나 Robo 3T에서 ips을 제거하는 방법을 알고 있습니까?

+1

시도'db.getCollection ('사용자')를 참조 업데이트합니다. ( {}, {$ 해제 : {IPS : ""}} )를' – Veeram

+0

당신은 그것에 대해 확실 해요? 방금 테스트했으나 작동하지 않았습니다 ... 이전에'ips'는'{{type : String} ''으로 정의되었습니다 @Veeram – SoftTimur

+0

이걸''db.getCollection ('users '). update ({}, {ips : undefind})' – shahabvshahabi

답변

1

@Veeram 이미 그냥 all 문서를 업데이트하는 옵션에 multi: true를 추가 $unset와 정기적 인 업데이트를 실행 할 수 게시 된, 그렇지 않으면 한

db.users.update(
    { }, // where 
    { $unset: { ips: 1 } }, // change what 
    { multi: true } // options 
) 
2

업데이트 여러 문서 업데이트됩니다

여러 문서를 업데이트하려면 multi 옵션을 true으로 설정하십시오. here

db.getCollection('users').update(
    { }, 
    { $unset: { ips: 1 } }, 
    { multi: true } 
)