【问题标题】:How to drop or delete a collection in MongoDB?如何在 MongoDB 中删除或删除集合?
【发布时间】:2015-09-06 00:39:38
【问题描述】:

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

我正在使用以下内容:

db.collection.drop()

the manual中所述:

db.collection.drop()

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

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

【问题讨论】:

    标签: mongodb collections


    【解决方案1】:

    所以这些都是有效的方法:

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

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

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

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

    db.mycollection.drop()
    

    这是我对其进行全面测试的方式,创建了一个数据库mydb 和一个集合hello

    • 创建数据库mydb:

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

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

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

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

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

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

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

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

    【讨论】:

    • 在 Windows 7 上,我必须使用双引号才能工作:"db.hello.drop()"
    【解决方案2】:

    要删除数据库mydb 的集合users

    > use mydb
    > db.users.drop()
    

    【讨论】:

      【解决方案3】:
      --eval "db.getCollection('collection').drop()"
      

      【讨论】:

      • 这并没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方留下评论。 - From Review
      • 这种用于删除集合的命令行方式的优点是可以在脚本中使用并避免转义行为。所以它完全是一个答案:“在 MongoDB 中删除集合的最佳方法是什么”
      • 你好。您回答了一个自 2015 年以来已被接受的问题。您编写了一条不会运行的命令,因为它不完整。而且您没有解释为什么您的答案有效
      • 在我之前的评论中,我解释了使用集合名称作为引用参数的明显优势,也许并不适合所有人。
      • 好吧。首先,正如您所说,您是在评论中回答的,而不是在原始答案中。其次,当有人看到您的答案时,可能会将其作为终端内的单个命令运行,而不是在 mongo 脚本内
      猜你喜欢
      • 1970-01-01
      • 2012-04-07
      • 1970-01-01
      • 1970-01-01
      • 2019-05-18
      • 2023-03-06
      • 1970-01-01
      • 2013-03-09
      • 2021-08-27
      相关资源
      最近更新 更多