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

ความหมายของ createdCollectionAutomatically ใน MongoDB

ฟิลด์ createdCollectionAutomatically ในผลลัพธ์ของคำสั่งสร้างดัชนี (createIndex) บอกว่า MongoDB ได้สร้างคอลเลกชันใหม่อัตโนมัติ เพราะคอลเลกชันนั้นยังไม่มีอยู่ก่อนหน้านี้

ตัวอย่าง: สร้างดัชนีบนคอลเลกชันที่ยังไม่มีอยู่

> db.createCollectionDemo.createIndex({"ClientCountryName": 1});

ผลลัพธ์:

{
  "createdCollectionAutomatically": true,
  "numIndexesBefore": 1,
  "numIndexesAfter": 2,
  "ok": 1
}

createdCollectionAutomatically: true แปลว่า คอลเลกชัน createCollectionDemo ถูกสร้างขึ้นใหม่พร้อมกับการสร้างดัชนีครั้งนี้

เพิ่มข้อมูลเข้าไปในคอลเลกชันที่เพิ่งสร้าง

> db.createCollectionDemo.insertOne({"ClientName":"Larry","ClientCountryName":"US"});
{ "acknowledged": true, "insertedId": ObjectId("5cd2950be3526dbddbbfb612") }

แสดงข้อมูล

> db.createCollectionDemo.find().pretty();

ผลลัพธ์:

{
  "_id": ObjectId("5cd2950be3526dbddbbfb612"),
  "ClientName": "Larry",
  "ClientCountryName": "US"
}

สรุป

  • createdCollectionAutomatically: true = คอลเลกชันไม่มีอยู่ก่อน → MongoDB สร้างใหม่ให้อัตโนมัติ
  • createdCollectionAutomatically: false = คอลเลกชันมีอยู่แล้ว → เพิ่มดัชนีเข้าไปในคอลเลกชันเดิม
  • พฤติกรรมนี้ช่วยลดขั้นตอน: ไม่ต้อง createCollection() ก่อนแล้วค่อย createIndex()
  • ฟิลด์ numIndexesBefore และ numIndexesAfter แสดงจำนวนดัชนีก่อนและหลังการดำเนินการ