MongoDB : MongoDB Shell에서 컬렉션의 모든 레코드를 삭제하는 방법은 무엇입니까?


84

난 노력 했어

db.users.remove(*)

오류를 반환하지만 모든 레코드를 지우려면 어떻게해야합니까?


db.getCollection ( 'collectionname'). remove ({})
firstpostcommenter

답변:


163

의 인수 remove()는 필터 문서이므로 빈 문서를 전달하면 '모두 제거'를 의미합니다.

db.user.remove({})

당신은 확실히 모든 것을 제거하려는 경우, 당신은 수있는 컬렉션을 삭제 나을. 그것은 아마도 컬렉션에 사용자 정의 인덱스가 있는지 여부, 즉 컬렉션을 삭제 한 후 컬렉션을 준비하는 비용이 remove()호출 대 호출 기간보다 긴지 여부에 따라 달라집니다 drop().

문서에 더 자세한 내용 있습니다.


remove이제 더 이상 사용되지 않습니다. 사용 db.user.deleteMany({})대신에
Mahdieh Shavandi

@MahdiehShavandi Mongo 셸 문서를 보면 remove더 이상 사용되지 않는다는 내용을 볼 수 없습니다 ( docs.mongodb.com/manual/reference/method/db.collection.remove ). 해당 주장을 뒷받침하는 링크 나 인용문을 제공 할 수 있습니까?
글라 이칭

죄송합니다. 다음 버전에서는 더 이상 사용되지 않을 것입니다. 이 클레임을 터미널에 기록합니다.
Mahdieh Shavandi

31

MongoDB의 컬렉션에서 모든 문서를 삭제할 수 있으며 다음을 사용할 수 있습니다.

db.users.remove({})

또는 다음 방법을 사용할 수도 있습니다.

db.users.deleteMany({})

자세한 내용 은 다음 MongoDB 문서를 따르십시오 .

컬렉션에서 모든 문서를 제거하려면 빈 필터 문서 {}db.collection.deleteMany()또는 db.collection.remove()메서드에 전달합니다.



3

모든 컬렉션에서 모든 문서를 제거하려면 :

db.getCollectionNames().forEach( function(collection_name) { 
    if (collection_name.indexOf("system.") == -1) {
        print ( ["Removing: ", db[collection_name].count({}), " documents from ", collection_name].join('') );
        db[collection_name].remove({}); 
    }
});

2

cmd의 컬렉션에서 모든 문서를 삭제합니다.

cd C:\Program Files\MongoDB\Server\4.2\bin
mongo
use yourdb
db.yourcollection.remove( { } )
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.