[MONGODB] MongoDB를 데이터베이스에서 삭제 모든
MONGODBMongoDB를 데이터베이스에서 삭제 모든
나는 MongoDB를에 개발을하고 있어요. 완전히 비 사악한 목적을 위해, 나는 때때로 매일 수집을 삭제하려면 데이터베이스입니다 모든 것을 날려 싶어하고, 또 주위에 거짓말을 할 수있는 무엇이든 처음부터 시작합니다. 내가이 작업을 수행하게됩니다 단 한 줄의 코드가 있습니까? MongoDB를 콘솔 방법 및 MongoDB를 Ruby 드라이버 방법을 모두주는 보너스 포인트.
해결법
-
==============================
1.몽고 쉘의 경우 :
몽고 쉘의 경우 :
use [database]; db.dropDatabase();
루비 코드는 매우 유사하다.
-
==============================
2.또한, 명령 줄에서 :
또한, 명령 줄에서 :
mongo DATABASE_NAME --eval "db.dropDatabase();"
-
==============================
3.나는 모든 컬렉션을 다시 필요로 할 때, 같은 문제를 가지고 있지만 데이터베이스 사용자를 풀어 싶지 않았다. 데이터베이스에 대한 사용자 설정을 저장하려는 경우, 다음 코드 줄을 사용합니다 :
나는 모든 컬렉션을 다시 필요로 할 때, 같은 문제를 가지고 있지만 데이터베이스 사용자를 풀어 싶지 않았다. 데이터베이스에 대한 사용자 설정을 저장하려는 경우, 다음 코드 줄을 사용합니다 :
use <whichever database> db.getCollectionNames().forEach(function(c) { if (c.indexOf("system.") == -1) db[c].drop(); })
이 코드는 하나의 데이터베이스에서 모든 모음 이름을 통해 이동로 시작하지 않는 사람들 떨어질 것 "시스템을.".
-
==============================
4.난 당신이 결국 데이터베이스 드롭 후 영광되지 않는 인덱스 제약 문제를 찾을 수 있습니다 테스트 케이스 사이에서 데이터베이스를 닦아 위해 이것을 사용하려는 그러나 경우, 오랫동안 db.dropDatabase () 경로를 따라 갔다. 결과적으로, ensureIndexes, 또는 간단한 경로에 대한 혼란에 하나 필요는 dropDatabase의 alltogether을 피하고 될 수 있습니다 단지 루프 등 각 컬렉션 제거 :
난 당신이 결국 데이터베이스 드롭 후 영광되지 않는 인덱스 제약 문제를 찾을 수 있습니다 테스트 케이스 사이에서 데이터베이스를 닦아 위해 이것을 사용하려는 그러나 경우, 오랫동안 db.dropDatabase () 경로를 따라 갔다. 결과적으로, ensureIndexes, 또는 간단한 경로에 대한 혼란에 하나 필요는 dropDatabase의 alltogether을 피하고 될 수 있습니다 단지 루프 등 각 컬렉션 제거 :
db.getCollectionNames().forEach( function(collection_name) { db[collection_name].remove() } );
내 경우에는 내가 사용하여 명령 줄에서이 실행되었다 :
mongo [database] --eval "db.getCollectionNames().forEach(function(n){db[n].remove()});"
-
==============================
5.@Robse 및 @DanH (! 명성) 답변을 컴파일, 나는 다음과 같은 솔루션을 완전하게 만족 저를 가지고 :
@Robse 및 @DanH (! 명성) 답변을 컴파일, 나는 다음과 같은 솔루션을 완전하게 만족 저를 가지고 :
db.getCollectionNames().forEach( function(collection_name) { if (collection_name.indexOf("system.") == -1) db[collection_name].drop(); else db.collection_name.remove({}); });
당신이 데이터베이스에 연결이 코드를 실행합니다.
그것은 사용자 컬렉션을 삭제하고 시스템 컬렉션을 비우는하여 데이터베이스를 정리합니다.
-
==============================
6.듣고 몽고 쉘을 사용하여 MongoDB를위한 몇 가지 사용을 완전 삭제 작업은
듣고 몽고 쉘을 사용하여 MongoDB를위한 몇 가지 사용을 완전 삭제 작업은
컬렉션에서 특정 문서를 삭제하려면 : db.mycollection.remove을 ({이름 : "스택"})
컬렉션에있는 모든 문서를 삭제하려면 : db.mycollection.remove을 ()
삭제 컬렉션 : db.mycollection.drop ()
삭제 데이터베이스 : 다음을 사용하여 mydb 명령에 의해 해당 데이터베이스에 처음으로 이동
db.dropDatabase()
-
==============================
7.용도
용도
[databaseName] db.Drop+databaseName(); drop collection use databaseName db.collectionName.drop();
-
==============================
8.
db.getCollectionNames().forEach(c=>db[c].drop())
-
==============================
9.당신은 단지 데이터베이스 및 하위 컬렉션이 사용을 삭제하려면 :
당신은 단지 데이터베이스 및 하위 컬렉션이 사용을 삭제하려면 :
당신이 몽고에있는 모든 데이터베이스를 삭제하려면 다음이를 사용 :
db.adminCommand("listDatabases").databases.forEach(function(d) { if(d.name!="admin" && d.name!="local" && d.name!="config") { db.getSiblingDB(d.name).dropDatabase(); } } );
-
==============================
10.(한 번에 모든 데이터베이스를 드롭) : 한 번에 경우에 당신은 모든 것을 삭제해야 할 것
(한 번에 모든 데이터베이스를 드롭) : 한 번에 경우에 당신은 모든 것을 삭제해야 할 것
mongo --quiet --eval 'db.getMongo().getDBNames().forEach(function(i){db.getSiblingDB(i).dropDatabase()})'
-
==============================
11.데이터베이스 말 블로그를 삭제하는 간단한 방법 :
데이터베이스 말 블로그를 삭제하는 간단한 방법 :
> use blog switched to db blog > db.dropDatabase(); { "dropped" : "blog", "ok" : 1 }
-
==============================
12.유성 개발자하십시오.
유성 개발자하십시오.
다른 사람들을 위해.
db.yourCollectionName.drop ();
-
==============================
13.희망이 도움이
희망이 도움이
-
==============================
14.나는 선호한다
나는 선호한다
db.your_collection.remove({})
위에
db.your_collection.drop()
컬렉션은 특별 징수 인 경우 즉 뒤덮인 수집 또는 고유로 표시 한 필드 모음, 낙하 컬렉션 자체를 취소하고 모음을 다시 만들 때 그것은 평범한 수집 될 것입니다. 다시 속성을 정의해야합니다. 사용 제거 그래서 () 컬렉션을 제거하고 컬렉션의 동작에 영향을주지 않고 문서를 취소합니다.
-
==============================
15.삭제하려면 모든 DB를 사용 :
삭제하려면 모든 DB를 사용 :
for i in $(mongo --quiet --host $HOSTNAME --eval "db.getMongo().getDBNames()" | tr "," " "); do mongo $i --host $HOSTNAME --eval "db.dropDatabase()"; done
-
==============================
16.
use <dbname> db.dropAllUsers() db.dropAllRoles() db.dropDatabase()
2.6에 도입 된 변경을 설명 MongoDB를 db.dropDatabase () 문서 :
-
==============================
17.. MongoDB를 3.2과 몽고 쉘 출력됩니다 서버에서 데이터베이스 이름 목록에서 새로운, 몽고 () getDBNames ()에서 :
. MongoDB를 3.2과 몽고 쉘 출력됩니다 서버에서 데이터베이스 이름 목록에서 새로운, 몽고 () getDBNames ()에서 :
> Mongo().getDBNames() [ "local", "test", "test2", "test3" ] > show dbs local 0.000GB test 0.000GB test2 0.000GB test3 0.000GB
배열을 통해 foreach는 () 루프는 dropDatabase ()가 나열된 모든 데이터베이스를 드롭 호출 할 수 있습니다. 선택적으로 당신은 당신이 드롭 싶지 않아 몇 가지 중요한 데이터베이스를 건너 뛰도록 선택할 수 있습니다. 예를 들면 :
Mongo().getDBNames().forEach(function(x) { // Loop through all database names if (['admin', 'config', 'local'].indexOf(x) < 0) { // Drop if database is not admin, config, or local Mongo().getDB(x).dropDatabase(); } })
예 실행 :
> show dbs admin 0.000GB config 0.000GB local 0.000GB test 0.000GB test2 0.000GB test3 0.000GB > Mongo().getDBNames().forEach(function(x) { ... if (['admin', 'config', 'local'].indexOf(x) < 0) { ... Mongo().getDB(x).dropDatabase(); ... } ... }) > show dbs admin 0.000GB config 0.000GB local 0.000GB
from https://stackoverflow.com/questions/3366397/delete-everything-in-a-mongodb-database by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] 인덱싱 된 열에 선택 MongoDB를 카운트 (고유 X) - 대용량 데이터 세트에 대한 고유 결과를 집계 (0) | 2019.12.09 |
---|---|
[MONGODB] 어디 CAP 정리에 서 MongoDB를합니까? (0) | 2019.12.08 |
[MONGODB] 데이터베이스로 루씬 (또는 SOLR) 대되는 NoSQL (MongoDB를) (0) | 2019.12.08 |
[MONGODB] MGO - 쿼리 성능이 느린 지속적으로 보인다 (500-650ms) (0) | 2019.12.08 |
[MONGODB] 옵션 검색 쿼리 매개 변수를 몽구스? (0) | 2019.12.08 |