Cách dễ nhất để làm điều này từ dấu nhắc bash của tôi là gì?Làm cách nào để thả một cơ sở dữ liệu MongoDB từ dòng lệnh?
Trả lời
Như thế này:
mongo <dbname> --eval "db.dropDatabase()"
Thông tin thêm về kịch bản shell từ dòng lệnh ở đây: https://docs.mongodb.com/manual/tutorial/write-scripts-for-the-mongo-shell/#scripting
Điều này rất hữu ích trong trường hợp của tôi. Bằng cách nào đó tôi đã có một cơ sở dữ liệu có tên "mean-dev" từ một cài đặt cũ hơn, và nhập "mean-dev.dropDatabase()" trong vỏ mongo dẫn đến "ReferenceError: mean is not defined". Nhưng sử dụng giải pháp trong câu trả lời này đã làm các trick. +1 –
Nếu bạn muốn nhận kết quả có thể đọc được bằng con người, hãy thực hiện theo cách này: '' 'mongo
K. P. MacGregor. bạn nên có được: "sử dụng mean-dev" + "db.dropDatabase()" – ozma
Cách tốt nhất để làm điều đó là từ MongoDB console:
> use mydb;
> db.dropDatabase();
Ngoài ra, bạn có thể ngăn chặn mongod
và xóa các tập tin dữ liệu từ thư mục dữ liệu của bạn, sau đó khởi động lại.
Gợi ý: bạn cũng có thể di chuyển các tệp dữ liệu vào một thư mục con và xóa chúng nếu bạn chắc chắn bạn không còn cần chúng nữa.
Tôi nghĩ rằng anh ấy có nghĩa là trực tiếp từ lời nhắc không? Trong trường hợp đó, bạn phải tạo một tệp .js với các lệnh đó và gọi nó từ dấu nhắc bằng cách sử dụng "mongo dropdb.js" hoặc một cái gì đó hoặc làm như bạn nói và xóa các tệp theo cách thủ công. –
Không phải là loại của tôi ạ;) –
nhưng lưu ý rằng bạn không thể sử dụng lệnh 'use' trong tệp .js, bạn phải kết nối với DB cụ thể (chỉ định dbname cho lệnh mongo) – Betlista
Bạn cũng có thể sử dụng một "heredoc":
mongo localhost/db <<EOF
db.dropDatabase()
EOF
Kết quả về sản lượng như:
mongo localhost/db <<EOF
db.dropDatabase()
EOF
MongoDB shell version: 2.2.2
connecting to: localhost/db
{ "dropped" : "db", "ok" : 1 }
bye
Tôi thích sử dụng heredocs cho những thứ như thế này, trong trường hợp bạn muốn chuỗi lệnh phức tạp hơn.
cách khác:
echo "db.dropDatabase()" | mongo <database name>
Điều này làm việc với Meteor Mongo DBs –
Đây là một chút dài dòng hơn, nhưng tôi nghĩ rằng nó là an toàn hơn:
mongo //to start the mongodb shell
show dbs //to list existing databases
use <dbname> //the <dbname> is the database you'd like to drop
db //should show <dbname> just to be sure I'm working with the right database
db.dropDatabase() //will delete the database & return { "dropped" : "<dbname>", "ok" : 1 }
Execute trong một thiết bị đầu cuối:
mongo // To go to shell
show databases // To show all existing databases.
use <DATA_BASE> // To switch to the wanted database.
db.dropDatabase() // To remove the current database.
Câu trả lời giống như [this one] (http://stackoverflow.com/questions/8857276/how- do-i-drop-a-mongodb-cơ sở dữ liệu-từ-the-command-line/18997305 # 18997305), được đưa ra một tháng trước đó. –
Dưới đây là một số sử dụng đầy đủ xóa các hoạt động cho mongodb bằng cách sử dụng mongo shell
Để xóa đặc biệt tài liệu trong bộ sưu tập: db.mycollection.remove({name:"stack"})
Để xóa tất cả các tài liệu trong bộ sưu tập: db.mycollection.remove()
Để bộ sưu tập xóa: db.mycollection.drop()
để cơ sở dữ liệu xóa: đi đầu tiên vào cơ sở dữ liệu đó theo lệnh use mydb
và sau đó
db.dropDatabase()
trực tiếp từ cửa sổ lệnh hoặc blash: mongo mydb --eval "db.dropDatabase()
Bạn không cần heredocs hoặc eval, mongo
chính nó có thể hoạt động như một thông dịch viên.
#!/usr/bin/env mongo
var db = new Mongo().getDB("someDatabase");
db.dropDatabase();
Làm cho tệp thực thi và chạy tệp.
Lưu ý rằng tên tập lệnh phải kết thúc bằng '.js', nếu không nó sẽ được hiểu là địa chỉ db. – Vegard
@Vegard Điều đó không đúng. Bạn đang chạy 'tên tệp mongo' không cần thiết - tệp đã có thông dịch viên ở dòng trên cùng. Chỉ cần làm cho tập tin thực thi và chạy nó './Filename' – mikemaccana
@mikemaccana Tôi biết điều đó, nhưng làm'./Filename' sẽ thực sự chạy '/ usr/bin/env mongo filename', phải không? Và vì vậy nếu 'filename' không kết thúc bằng' .py', mongo sẽ không nhận ra đối số là một tập lệnh để chạy. – Vegard
Bắt đầu MongoDB
lệnh cho Cơ sở dữ liệu thả là:
1. đầu tiên chọn cơ sở dữ liệu mà bạn muốn xóa
use < database name >
2. Sau đó sử dụng này ..
db.dropDatabase()
Trong bạn command prompt, First kết nối với MongoDB sử dụng lệnh sau:
- Mongo -h [host-name]: [port: số] -d [dbname] -u [username] -p [mật khẩu]
bạn sẽ truy cập db bằng.
Chạy lệnh sau để thả toàn bộ cơ sở dữ liệu:
- db.dropDatabase()
Lệnh dropDatabase xuống cơ sở dữ liệu hiện tại, xóa các tập tin dữ liệu có liên quan. Có hai cách để thả một cơ sở dữ liệu trong MongoDB. Trước tiên, nếu bạn muốn thả một cơ sở dữ liệu thời tiết từ MongoDB. Để thả cơ sở dữ liệu, điều đầu tiên cần làm là chuyển sang cơ sở dữ liệu bằng cách sử dụng sử dụng lệnh và đưa ra lệnh thả như sau.
sử dụng thời tiết
db.runCommand ({dropDatabaase: 1})
Thứ hai, Vỏ Mongo cũng cung cấp các phương pháp helper db.dropDatabase(). Các bước giống như trên.
sử dụng thời tiết
db.dropDatabase()
Nếu bạn muốn biết thêm về nó, xin vui lòng có một cái nhìn http://docs.mongodb.org/manual/reference/command/dropDatabase/
Sử dụng Javascript, bạn có thể dễ dàng tạo ra một drop_bad.js tập lệnh để thả cơ sở dữ liệu của bạn:
tạo drop_bad.js:
use bad;
db.dropDatabase();
Thần chạy 1 lệnh trong terminal để exectue kịch bản sử dụng vỏ Mongo:
mongo < drop_bad.js
Cho dù có một số phương pháp, Cách tốt nhất (hiệu quả nhất và dễ dàng nhất) đang sử dụng db.dropDatabase()
Mở cửa sổ dòng lệnh khác và thực hiện các lệnh sau,
mongodb
use mydb
db.dropDatabase()
Output hoạt động đó sẽ trông giống như sau
MAC:FOLDER USER$ mongodb
> show databases
local 0.78125GB
mydb 0.23012GB
test 0.23012GB
> use mydb
switched to db mydb
>db.dropDatabase()
{ "dropped" : "mydb", "ok" : 1 }
>
Xin lưu ý rằng mydb
vẫn đang sử dụng, do đó chèn bất kỳ đầu vào tại thời điểm đó sẽ khởi tạo cơ sở dữ liệu một lần nữa.
- 1. Làm cách nào để tạo một cơ sở dữ liệu Firebird mới từ dòng lệnh?
- 2. Truy cập cơ sở dữ liệu SQLite từ dòng lệnh
- 3. Làm cách nào để chèn bản ghi từ cơ sở dữ liệu mongo này vào cơ sở dữ liệu khác?
- 4. Làm cách nào để thả hoặc tạo cơ sở dữ liệu từ clojure.java.jdbc?
- 5. Làm thế nào để thả một cơ sở dữ liệu mẫu từ PostgreSQL?
- 6. Thả Người dùng từ Cơ sở dữ liệu SQL Server?
- 7. Thả cơ sở dữ liệu SQL Server
- 8. Mã hóa cơ sở dữ liệu MongoDB
- 9. Làm cách nào để tạo cơ sở dữ liệu trong marklogic từ tập lệnh
- 10. Làm cách nào để khôi phục một cơ sở dữ liệu từ mysqldump chứa nhiều cơ sở dữ liệu?
- 11. Kiến trúc cơ sở dữ liệu MongoDB
- 12. Làm cách nào để đổi tên cơ sở dữ liệu MongoDB?
- 13. Làm thế nào để tạo một MongoDB mới từ dòng lệnh được bật auth?
- 14. Làm thế nào để xuất cơ sở dữ liệu thông qua dòng lệnh?
- 15. Sao chép bảng từ một cơ sở dữ liệu sang một cơ sở dữ liệu khác
- 16. Mở tệp cơ sở dữ liệu từ bên trong vỏ lệnh dòng lệnh SQLite
- 17. Làm cách nào để thả Cơ sở dữ liệu SQL? sp_delete_database_backuphistory woes
- 18. Nhận cơ sở dữ liệu MongoDB trong một mảng JavaScript?
- 19. Làm cách nào để thực thi các khóa ngoại trong cơ sở dữ liệu NoSql (MongoDB)?
- 20. Giữ mở một kết nối cơ sở dữ liệu MongoDB
- 21. Làm cách nào để tạo cơ sở dữ liệu mới trong MongoDB bằng PyMongo?
- 22. Tạo một cơ sở dữ liệu sqlite bằng cách sử dụng dòng lệnh shell trong windows
- 23. Làm cách nào để ngăn chặn triển khai dự án cơ sở dữ liệu VS2010 tạo cơ sở dữ liệu thả?
- 24. Cách lấy dữ liệu từ cơ sở dữ liệu Parse.com
- 25. Làm cách nào để xóa cơ sở dữ liệu MySQL?
- 26. Làm cách nào để xóa khỏi cơ sở dữ liệu?
- 27. Cách sao chép bảng từ một cơ sở dữ liệu mysql sang cơ sở dữ liệu mysql khác
- 28. Làm thế nào để điền một danh sách thả xuống từ cơ sở dữ liệu trong ASP.NET MVC 4
- 29. Có thể thả cơ sở dữ liệu trong ADO.NET hoặc tạo một cơ sở dữ liệu mới
- 30. Mock/Test Cơ sở dữ liệu Mongodb Node.js
xem câu hỏi này: http://stackoverflow.com/questions/3366397/delete-everything-in-a-mongodb-database. Nó thực sự dễ dàng để làm điều đó từ vỏ mongo. –
Liên kết này có thể giúp bạn http://www.codefari.com/2015/03/drop-database-in-mongodb.html – Singh