Lệnh SHOW DBS (hoặc show databases) chỉ hiển thị các database đã có ít nhất một collection chứa document. Database mới tạo nhưng chưa có document sẽ không xuất hiện.
Minh họa
Tạo database mới web:
> use web switched to db web
Kiểm tra danh sách database:
> show dbs;
admin 0.001GB config 0.000GB local 0.000GB my 0.001GB sample 0.001GB sampleDemo 0.000GB studentSearch 0.000GB test 0.010GB university 0.000GB
Database 'web' không xuất hiện** vì chưa có collection/document nào.
Tạo document để database hiển thị
> db.check.insertOne({"ClientName":"John"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cb806c2623186894665ae35") }
Kiểm tra lại:
> show dbs;
admin 0.001GB config 0.000GB local 0.000GB my 0.001GB sample 0.001GB sampleDemo 0.000GB studentSearch 0.000GB test 0.010GB university 0.000GB web 0.000GB
Bây giờ web đã xuất hiện** trong danh sách.
Tóm tắt
- MongoDB tạo database lười biếng (lazily) - chỉ khi ghi dữ liệu đầu tiên
use <db>chỉ chuyển context, không tạo database vật lý- Database chỉ hiện trong
show dbssau khi có ≥ 1 document trong ≥ 1 collection - Database rỗng (không collection hoặc collection rỗng) không hiển thị
Đây là hành vi thiết kế của MongoDB để tiết kiệm tài nguyên.