Việc thay đổi toàn bộ cơ sở dữ liệu trong MongoDB khá đơn giản và có thể được thực hiện theo nhiều cách khác nhau. Dưới đây, chúng tôi sẽ xem xét ngắn gọn hai phương pháp để xóa (hoặc xóa) cơ sở dữ liệu trong MongoDB, sử dụng cả *nix
shell cũng như tiện ích Mongo shell.
Sử dụng Unix Shell và Eval Command
Phương pháp đơn giản nhất để xóa cơ sở dữ liệu Mongo của bạn là thực thi mongo
lệnh shell từ dòng lệnh, cùng với các cờ và tùy chọn thích hợp để thông báo cho mongo
shell mà bạn muốn thả một cơ sở dữ liệu.
Ở cấp độ cơ bản nhất, mongo
lệnh shell có thể được sử dụng để nhanh chóng kết nối với một cơ sở dữ liệu cụ thể. Trong ví dụ này, chúng tôi sẽ sử dụng nó để kết nối với bookstore
cơ sở dữ liệu từ dấu nhắc bash máy chủ của chúng tôi:
$ mongo bookstore
MongoDB shell version: 3.0.9
connecting to: bookstore
>
Tuy nhiên, thay vì chỉ kết nối với bookstore
của chúng tôi cơ sở dữ liệu và chạy các lệnh từ mongo
shell, chúng ta thực sự có thể chuyển eval
cờ theo sau là mã JavaScript mà chúng tôi muốn MongoDB thực thi và cơ sở dữ liệu của chúng tôi có thể dễ dàng bị xóa trong một dòng.
Trong trường hợp này, chúng tôi muốn xóa cơ sở dữ liệu nên sau đó chúng tôi sẽ sử dụng db.dropDatabase()
để xóa cơ sở dữ liệu mà chúng tôi đang kết nối. Mặc dù không cần thiết, chúng tôi cũng sẽ đưa phương pháp này vào printjson
để đảm bảo đầu ra của lệnh này có ý nghĩa và có thể đọc được.
$ mongo bookstore --eval "printjson(db.dropDatabase())"
MongoDB shell version: 3.0.9
connecting to: bookstore
{ "dropped" : "bookstore", "ok" : 1 }
Sử dụng Mongo Shell Utility
Phương pháp thay thế bắt đầu bằng cách kết nối với MongoDB thông qua mongo
tiện ích shell, sau đó đưa ra các lệnh trong chính Mongo để kết nối và thả cơ sở dữ liệu cụ thể.
Mặc dù cả hai phương pháp đều không có lợi thế đặc biệt so với phương pháp kia, nhưng trong môi trường sản xuất, tốt nhất bạn nên tránh sử dụng eval
ở trên và thay vào đó hãy sử dụng mongo
vỏ như chúng ta sẽ khám phá bên dưới, điều này cho phép bạn đảm bảo bạn được kết nối với (và do đó đang xóa) cơ sở dữ liệu thích hợp.
Như trước đây, hãy bắt đầu bằng cách phát hành mongo
lệnh từ bash shell của bạn:
$ mongo
MongoDB shell version: 3.0.9
connecting to: test
>
Bây giờ bạn đã kết nối với Mongo, hãy sử dụng show dbs
lệnh hiển thị tất cả cơ sở dữ liệu trong hệ thống:
> show dbs
local 0.078GB
bookstore 0.521GB
Bây giờ hãy kết nối với cơ sở dữ liệu cụ thể mà bạn muốn thả bằng use <database>
yêu cầu. Trong trường hợp của chúng tôi, một lần nữa chúng tôi sẽ kết nối với bookstore
:
> use bookstore
switched to db bookstore
Cuối cùng, thực hiện xóa bằng cách gọi db.dropDatabase()
, tương tự như eval
của chúng tôi ‘Ed tuyên bố ở trên.
> db.dropDatabase()
{ "dropped" : "bookstore", "ok" : 1 }
Đây là bạn có nó! Hai phương pháp đơn giản để loại bỏ một cơ sở dữ liệu cụ thể khỏi MongoDB một cách nhanh chóng và dễ dàng.