Mongodb Primary Key: ตัวอย่างการตั้งค่าฟิลด์ _id ด้วย ObjectId()
คีย์หลักคืออะไร MongoDB?
In MongoDBฟิลด์ _id เป็นคีย์หลักสำหรับคอลเลกชัน เพื่อให้สามารถระบุแต่ละเอกสารในคอลเลกชันได้โดยไม่ซ้ำกัน ฟิลด์ _id มีค่า ObjectID ที่ไม่ซ้ำกัน
ตามค่าเริ่มต้นเมื่อแทรกเอกสารในคอลเลกชัน หากคุณไม่เพิ่มชื่อฟิลด์ด้วย _id ในชื่อฟิลด์ MongoDB จะเพิ่มฟิลด์รหัสวัตถุโดยอัตโนมัติตามที่แสดงด้านล่าง
เมื่อคุณสอบถามเอกสารในคอลเลกชัน คุณสามารถดู ObjectId สำหรับแต่ละเอกสารในคอลเลกชันได้
หากท่านต้องการความมั่นใจว่า MongoDB จะไม่สร้างฟิลด์ _id เมื่อสร้างคอลเลกชัน และหากคุณต้องการระบุ ID ของคุณเองเป็น _id ของคอลเลกชัน คุณจะต้องกำหนดสิ่งนี้อย่างชัดเจนในขณะที่สร้างคอลเลกชัน
เมื่อสร้างช่องรหัสอย่างชัดเจน จะต้องสร้างช่องด้วย _id ในชื่อ
ลองดูตัวอย่างว่าเราจะบรรลุเป้าหมายนี้ได้อย่างไร
db.Employee.insert({_id:10, "EmployeeName" : "Smith"})
คำอธิบายรหัส:
- เรากำลังสมมติว่าเรากำลังสร้างเอกสารแรกในคอลเลกชัน และด้วยเหตุนี้ในคำสั่งข้างต้นในขณะที่สร้างคอลเลกชัน เราจะกำหนดฟิลด์ _id อย่างชัดเจนและกำหนดค่าให้กับมัน
หากดำเนินการคำสั่งสำเร็จแล้วและตอนนี้ใช้คำสั่งค้นหาเพื่อแสดงเอกสารในคอลเล็กชั่น จะแสดงผลลัพธ์ต่อไปนี้
Output:
ผลลัพธ์แสดงให้เห็นอย่างชัดเจนว่าฟิลด์ _id ที่เรากำหนดไว้ในขณะที่สร้างคอลเลกชันนั้นถูกใช้เป็นคีย์หลักสำหรับคอลเลกชันแล้ว