Tak więc jeden z poniższych sposobów jest prawidłowy:
mongo <dbname> --eval 'db.<collection>.drop()'
# ^^^^^^^^ ^^^^^^^^^^^^
db.<collection>.drop()
# ^^^^^^^^^^^^
Na przykład dla kolekcji mycollection
w bazie danych mydb
powiedziałbyś:
mongo mydb --eval 'db.mycollection.drop()'
db.mycollection.drop()
W ten sposób w pełni ją przetestowałem, tworząc bazę danych mydb
z kolekcją hello
.
-
Utwórz bazę danych
mydb
:> use mydb switched to db mydb
-
Utwórz kolekcję
mycollection
:> db.createCollection("mycollection") { "ok" : 1 }
-
Pokaż tam wszystkie kolekcje:
> db.getCollectionNames() [ "mycollection", "system.indexes" ]
-
Wstaw dane fikcyjne:
> db.mycollection.insert({'a':'b'}) WriteResult({ "nInserted" : 1 })
-
Upewnij się, że został włożony:
> db.mycollection.find() { "_id" : ObjectId("55849b22317df91febf39fa9"), "a" : "b" }
-
Usuń kolekcję i upewnij się, że już jej nie ma:
> db.mycollection.drop() true > db.getCollectionNames() [ "system.indexes" ]
To również działa (nie powtarzam poprzednich poleceń, ponieważ chodzi tylko o odtworzenie bazy danych i kolekcji):
$ mongo mydb --eval 'db.mycollection.drop()'
MongoDB shell version: 2.6.10
connecting to: mydb
true
$