programing

MongoDB: MongoDB 쉘에서 컬렉션의 모든 레코드를 삭제하는 방법

javaba 2023. 2. 11. 17:42
반응형

MongoDB: MongoDB 쉘에서 컬렉션의 모든 레코드를 삭제하는 방법

해봤어요

db.users.remove(*)

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

에 대한 의론remove()는 필터 문서이므로 빈 문서를 전달하면 '모두 삭제'가 됩니다.

db.user.remove({})

단, 반드시 모든 것을 제거하고 싶다면 컬렉션을 삭제하는 것이 좋습니다.이는 아마도 컬렉션에 사용자 정의 인덱스가 있는지 여부에 따라 달라집니다.즉, 컬렉션을 드롭한 후 준비하는 비용이 더 긴 시간 동안 유지되는 컬렉션보다 큰지 여부입니다.remove()콜과drop()불러.

자세한 내용은 문서를 참조하십시오.

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

db.users.remove({})

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

db.users.deleteMany({})

상세한 것에 대하여는, 다음의 MongoDB 의 메뉴얼을 참조해 주세요.

컬렉션에서 모든 문서를 제거하려면 빈 필터 문서를 전달하십시오.{}어느 쪽인가 하면db.collection.deleteMany()또는db.collection.remove()방법.

다음은 MongoDB 쉘 또는 MongoDB 나침반 쉘(_MongoSH)에 있는 컬렉션의 모든 레코드를 삭제하는 명령어입니다.

show dbs                                    -> to list all the database
use test-database                           -> to select the database
db.getCollection('orders').deleteMany({})   -> to select the collection and deletes all the data.

또는

show dbs                     -> to list all the database
use test-database            -> to select the database
db.orders.remove({})      -> to select the collection and deletes all the data.

를 사용합니다.deleteMany기능(필수):

컬렉션에 이름이 붙여진 경우users:

db.users.deleteMany({})

deleteMany필터를 인수로 사용하여 빈 문서를 전달합니다. {}필터는 컬렉션의 모든 멤버를 삭제하도록 요구하는 것과 같기 때문입니다.

주의:remove는 아직 동작합니다만, 같은 빈 문서를 건네주셔야 합니다.

db.users.remove({})

하지만,remove더 이상 사용되지 않습니다.mongo 설치가 최신인 경우,remove는 권장되는 방법 중 하나를 사용해야 함을 나타내는 권장 해제 경고로 이어집니다.1.0.7 이후:

Deprecation Warning : Collection.remove()는 권장되지 않습니다.delete One, delete Many, find One And Delete 또는 bulkWrite를 사용합니다.

db.users.count()
db.users.remove({})
db.users.count()

cmd 단위의 컬렉션에서 모든 문서 삭제:

cd C:\Program Files\MongoDB\Server\4.2\bin
mongo
use yourdb
db.yourcollection.remove( { } )

이 예는 MongoDB 4.2용으로 작성되었습니다.

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

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({}); 
    }
});

다음 코드를 사용하여 "system"을 제외한 모든 컬렉션에서 모든 문서를 삭제하십시오.

use('DatabaseName');
db.getCollectionNames()
  .filter((collectionName) => collectionName.indexOf("system.") === -1)
  .forEach((collectionName) => {
    print(`Removing: ${db[collectionName].count({})} documents from ${collectionName}`);
    db[collectionName].deleteMany({});
  });

이 코드는 MongoDB 놀이터에서도 실행할 수 있습니다.또한 컬렉션당 삭제된 문서 수도 인쇄됩니다.

언급URL : https://stackoverflow.com/questions/46368368/mongodb-how-to-delete-all-records-of-a-collection-in-mongodb-shell

반응형