Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Tại sao SHOW DBS không hiển thị database của tôi trong MongoDB?

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 dbs sau 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.