在MongoDB中删除Collection 的最佳方式是什么?

我使用的是:

db.collection.drop()

the manual所述:

db.collection.drop()

从数据库中删除集合.该方法还可以删除任何

但是我怎么能从命令行中删除它呢?

推荐答案

所以这两种方法都是有效的:

mongo <dbname> --eval 'db.<collection>.drop()'
#     ^^^^^^^^            ^^^^^^^^^^^^

db.<collection>.drop()
#  ^^^^^^^^^^^^

例如,对于数据库mydb中的集合mycollection,您可以说:

mongo mydb --eval 'db.mycollection.drop()'

db.mycollection.drop()

这就是我完全测试它的方式,创建了一个数据库mydb和一个集合hello.

  • 创建db mydb:

    > use mydb
    switched to db mydb
    
  • 创建一个集合mycollection:

    > db.createCollection("mycollection")
    { "ok" : 1 }
    
  • 在那里显示所有Collection :

    > db.getCollectionNames()
    [ "mycollection", "system.indexes" ]
    
  • 插入一些虚拟数据:

    > db.mycollection.insert({'a':'b'})
    WriteResult({ "nInserted" : 1 })
    
  • 确保已插入:

    > db.mycollection.find()
    { "_id" : ObjectId("55849b22317df91febf39fa9"), "a" : "b" }
    
  • 删除Collection 并确保它不再存在:

    > db.mycollection.drop()
    true
    > db.getCollectionNames()
    [ "system.indexes" ]
    

这也是可行的(我没有重复前面的命令,因为它只是关于重新创建数据库和集合):

$ mongo mydb --eval 'db.mycollection.drop()'
MongoDB shell version: 2.6.10
connecting to: mydb
true
$

Mongodb相关问答推荐

筛选出嵌套数组中的记录Mongo DB聚合

在MongoDB中获取所有帖子时如何获取相关用户信息

按数组mongodb中的第一个元素排序

Mongoose 返回包含属性内任何位置的值的所有文档

Mongoose $inc 枚举验证失败

mongoDB vs mySQL - 为什么在某些方面比另一个更好

如何使用 mongoose 从 MongoDb 获取数据?

mongodump 是否锁定数据库?

删除嵌套文档数组中的嵌入文档

Spring Mongodb @DBREF

为什么 PyMongo 会抛出 AutoReconnect?

从 LinkedHashMap 转换为 Json 字符串

RoR3 上的 Mongoid:1)如何在查询中返回特定字段? 2)需要什么 inverse_of ?

NoSQL:MongoDB 或 BigTable 并不总是 Available意味着什么

在 Postgres JSON 数组中查询

当前的 URL 字符串解析器已弃用

在 MongoDB 中合并两个集合

Mongoose - 获取 _id 列表而不是具有 _id 的对象数组

如何在 MongoDB 中删除此弃用警告,为什么会这样?

Spring Data MongoDB - 在哪里以编程方式为 Mongo 集合创建索引?