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?
Câu trả lời:
Đố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 .
remove
hiện không được dùng nữa. sử dụng db.user.deleteMany({})
thay thế
remove
khô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?
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ứcdb.collection.deleteMany()
hoặcdb.collection.remove()
phương thức.
db.users.count()
db.users.remove({})
db.users.count()
Để 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({});
}
});