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
$