如何在MongoDB中删除一个集合?

时间:2015-06-19 22:26:43

标签: mongodb collections

在MongoDB中删除集合的最佳方法是什么?

我使用以下内容:

db.collection.drop()

the manual中所述:

  

db.collection.drop()

     

从数据库中删除集合。该方法也删除任何   与已删除集合关联的索引。该方法提供了一个   drop命令的包装器。

但是如何从命令行中删除它?

3 个答案:

答案 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()"