MongoDB: Làm thế nào để xóa tất cả các bản ghi của một bộ sưu tập trong MongoDB Shell?


84

Tôi đã thử

db.users.remove(*)

Mặc dù nó trả về một lỗi, vậy làm cách nào để xóa tất cả các bản ghi?


db.getCollection ('tên bộ sưu tập'). remove ({})
firstpostcommenter

Câu trả lời:


163

Đối số tới remove()là một tài liệu bộ lọc, vì vậy việc chuyển vào một tài liệu trống có nghĩa là 'xóa tất cả':

db.user.remove({})

Tuy nhiên, nếu bạn chắc chắn muốn loại bỏ tất cả mọi thứ bạn có thể được tốt hơn off thả bộ sưu tập. Mặc dù điều đó có thể phụ thuộc vào việc bạn có các chỉ mục do người dùng xác định trên bộ sưu tập hay không, tức là liệu chi phí chuẩn bị bộ sưu tập sau khi loại bỏ nó có cao hơn thời lượng remove()cuộc gọi dài hơn so với drop()cuộc gọi hay không.

Thêm chi tiết trong tài liệu .


removehiện không được dùng nữa. sử dụng db.user.deleteMany({})thay thế
Mahdieh Shavandi

@MahdiehShavandi khi nhìn vào tài liệu của trình bao Mongo, tôi không thể thấy bất kỳ điều gì nói rằng removekhông được dùng nữa ( docs.mongodb.com/manual/reference/method/db.collection.remove ). Bạn có thể cung cấp liên kết hoặc trích dẫn hỗ trợ cho tuyên bố đó không?
glytching

xin lỗi, tôi nên nói: nó sẽ không được dùng nữa trong các phiên bản tương lai. Nó chỉ ghi lại yêu cầu này trong thiết bị đầu cuối.
Mahdieh Shavandi

31

Bạn có thể xóa tất cả các tài liệu khỏi bộ sưu tập trong MongoDB, bạn có thể sử dụng như sau:

db.users.remove({})

Ngoài ra, bạn cũng có thể sử dụng phương pháp sau:

db.users.deleteMany({})

Thực hiện theo tài liệu MongoDB sau để biết thêm chi tiết.

Để xóa tất cả tài liệu khỏi bộ sưu tập, hãy chuyển một tài liệu bộ lọc trống {}cho phương thức db.collection.deleteMany()hoặc db.collection.remove()phương thức.



3

Để xóa tất cả các tài liệu trong tất cả các bộ sưu tập:

db.getCollectionNames().forEach( function(collection_name) { 
    if (collection_name.indexOf("system.") == -1) {
        print ( ["Removing: ", db[collection_name].count({}), " documents from ", collection_name].join('') );
        db[collection_name].remove({}); 
    }
});

2

Xóa tất cả tài liệu khỏi bộ sưu tập trong cmd:

cd C:\Program Files\MongoDB\Server\4.2\bin
mongo
use yourdb
db.yourcollection.remove( { } )
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.