web-dev-qa-db-ja.com

MongoDBにコレクションをドロップする方法は?

MongoDBにコレクションをドロップする最良の方法は何ですか?

私は次を使用しています:

db.collection.drop()

マニュアル :で説明されているように

db.collection.drop()

データベースからコレクションを削除します。このメソッドは、ドロップされたコレクションに関連付けられているインデックスも削除します。このメソッドは、dropコマンドのラッパーを提供します。

しかし、どうすればコマンドラインからドロップできますか?

32
fedorqui

したがって、これらのいずれかがそれを行うための有効な方法です。

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

db.<collection>.drop()

これは私が完全にテストした方法で、コレクションmytestでデータベースhelloを作成します。

  • Db 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
$
61
fedorqui

データベース「mydb」のコレクション「users」を削除するには:

$ use mydb
$ db.users.drop()
0
martinho