2015-06-19 13 views
6

Cách tốt nhất để xóa một bộ sưu tập trong MongoDB là gì?Làm thế nào để thả một bộ sưu tập trong MongoDB?

Tôi đang sử dụng như sau:

db.collection.drop() 

Như đã trình bày trong the manual:

db.collection.drop()

Loại bỏ một bộ sưu tập từ cơ sở dữ liệu. Phương pháp này cũng xóa bất kỳ chỉ mục nào được kết hợp với bộ sưu tập bị loại bỏ. Phương thức này cung cấp một wrapper xung quanh lệnh thả.

Nhưng làm cách nào để thả từ dòng lệnh?

Trả lời

19

Vì vậy, một trong những cách hợp lệ để làm điều đó:

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

db.<collection>.drop() 

Đây là cách tôi hoàn toàn kiểm tra nó, tạo ra một cơ sở dữ liệu mytest với một bộ sưu tập hello.

  • Tạo db mytest:

    > use mytest 
    switched to db mytest 
    
  • Tạo một bộ sưu tập hello:

    > db.createCollection("hello") 
    { "ok" : 1 } 
    
  • Hiện tất cả các bộ sưu tập có:

    > db.getCollectionNames() 
    [ "hello", "system.indexes" ] 
    
  • Chèn một số dữ liệu giả:

    > db.hello.insert({'a':'b'}) 
    WriteResult({ "nInserted" : 1 }) 
    
  • Hãy chắc chắn rằng nó đã được chèn vào:

    > db.hello.find() 
    { "_id" : ObjectId("55849b22317df91febf39fa9"), "a" : "b" } 
    
  • Xóa bộ sưu tập và chắc chắn rằng nó không được trình bày nữa:

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

Điều này cũng hoạt động (Tôi không lặp lại các lệnh trước đó, vì nó là jus về việc tạo lại cơ sở dữ liệu và bộ sưu tập):

$ mongo mytest --eval 'db.hello.drop()' 
MongoDB shell version: 2.6.10 
connecting to: mytest 
true 
$ 
Các vấn đề liên quan