ฟิลด์ 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แสดงจำนวนดัชนีก่อนและหลังการดำเนินการ