Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

ทำไม SHOW DBS ไม่แสดงฐานข้อมูลของฉันใน MongoDB

คำสั่ง SHOW DBS จะไม่แสดงฐานข้อมูลที่คุณสร้างขึ้น หากยังไม่ได้สร้างเอกสาร (Document) ในคอลเลกชันภายในฐานข้อมูลนั้น ฐานข้อมูลจะปรากฏเมื่อมีข้อมูลจริงถูกเขียนเข้าไป

ตัวอย่างการทดสอบ

สร้าง/สลับไปใช้ฐานข้อมูล web:

> use web;
switched to db web

แสดงฐานข้อมูลทั้งหมด (ยังไม่เห็น web):

> 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 ไม่แสดง เพราะยังไม่มีคอลเลกชัน/เอกสาร

สร้างคอลเลกชันและเพิ่มเอกสารในฐานข้อมูล web

> db.check.insertOne({"ClientName":"John"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cb806c2623186894665ae35") }

แสดงข้อมูลที่เพิ่งเพิ่ม:

> db.check.find();

ผลลัพธ์:

{ "_id" : ObjectId("5cb806c2623186894665ae35"), "ClientName" : "John" }

แสดงฐานข้อมูลอีกครั้ง

> show dbs;

ผลลัพธ์ (ตอนนี้เห็น web แล้ว):

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

สรุป: MongoDB สร้างฐานข้อมูลแบบ Lazy - จะปรากฏใน show dbs ก็ต่อเมื่อมีข้อมูลจริง (อย่างน้อย 1 เอกสารใน 1 คอลเลกชัน) ถูกเขียนเข้าไป