在MongoDB中删除集合的最佳方法是什么?
我使用以下内容:
db.collection.drop()
如the manual中所述:
db.collection.drop()
从数据库中删除集合。该方法也删除任何 与已删除集合关联的索引。该方法提供了一个 drop命令的包装器。
但是如何从命令行中删除它?
答案 0 :(得分:56)
所以这些都是有效的方法:
mongo <dbname> --eval 'db.<collection>.drop()'
db.<collection>.drop()
这是我对其进行全面测试的方式,使用集合mytest
创建数据库hello
。
创建数据库mytest
:
> use mytest
switched to db mytest
创建一个集合hello
:
> db.createCollection("hello")
{ "ok" : 1 }
显示那里的所有藏品:
> db.getCollectionNames()
[ "hello", "system.indexes" ]
插入一些虚拟数据:
> db.hello.insert({'a':'b'})
WriteResult({ "nInserted" : 1 })
确保已插入:
> db.hello.find()
{ "_id" : ObjectId("55849b22317df91febf39fa9"), "a" : "b" }
删除该集合并确保它不再存在:
> db.hello.drop()
true
> db.getCollectionNames()
[ "system.indexes" ]
这也有效(我不重复以前的命令,因为它只是重新创建数据库和集合):
$ mongo mytest --eval 'db.hello.drop()'
MongoDB shell version: 2.6.10
connecting to: mytest
true
$
答案 1 :(得分:2)
要删除数据库“ mydb”的集合“用户”:
$ use mydb
$ db.users.drop()
答案 2 :(得分:-1)
--eval "db.getCollection('collection').drop()"