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
'programing' 카테고리의 다른 글
반응 효소 두 번째(또는 n번째) 노드 찾기 (0) | 2023.02.11 |
---|---|
앵귤러 바우어 설치에 적합한 버전을 찾을 수 없습니다. (0) | 2023.02.11 |
Angularjs:오류: [ng:areq] 인수 'HomeController'가 함수가 아닙니다. 정의되지 않았습니다. (0) | 2023.02.11 |
React와 전단지를 결합하는 좋은 방법 (0) | 2023.02.11 |
jQuery - 잘못된 호출 (0) | 2023.02.11 |