Mongodb Primary Key: ตัวอย่างการตั้งค่าฟิลด์ _id ด้วย ObjectId()

คีย์หลักคืออะไร MongoDB?

In MongoDBฟิลด์ _id เป็นคีย์หลักสำหรับคอลเลกชัน เพื่อให้สามารถระบุแต่ละเอกสารในคอลเลกชันได้โดยไม่ซ้ำกัน ฟิลด์ _id มีค่า ObjectID ที่ไม่ซ้ำกัน

ตามค่าเริ่มต้นเมื่อแทรกเอกสารในคอลเลกชัน หากคุณไม่เพิ่มชื่อฟิลด์ด้วย _id ในชื่อฟิลด์ MongoDB จะเพิ่มฟิลด์รหัสวัตถุโดยอัตโนมัติตามที่แสดงด้านล่าง

คีย์หลักเข้า MongoDB

เมื่อคุณสอบถามเอกสารในคอลเลกชัน คุณสามารถดู ObjectId สำหรับแต่ละเอกสารในคอลเลกชันได้

หากท่านต้องการความมั่นใจว่า MongoDB จะไม่สร้างฟิลด์ _id เมื่อสร้างคอลเลกชัน และหากคุณต้องการระบุ ID ของคุณเองเป็น _id ของคอลเลกชัน คุณจะต้องกำหนดสิ่งนี้อย่างชัดเจนในขณะที่สร้างคอลเลกชัน

เมื่อสร้างช่องรหัสอย่างชัดเจน จะต้องสร้างช่องด้วย _id ในชื่อ

ลองดูตัวอย่างว่าเราจะบรรลุเป้าหมายนี้ได้อย่างไร

db.Employee.insert({_id:10, "EmployeeName" : "Smith"})

คำอธิบายรหัส:

  1. เรากำลังสมมติว่าเรากำลังสร้างเอกสารแรกในคอลเลกชัน และด้วยเหตุนี้ในคำสั่งข้างต้นในขณะที่สร้างคอลเลกชัน เราจะกำหนดฟิลด์ _id อย่างชัดเจนและกำหนดค่าให้กับมัน

หากดำเนินการคำสั่งสำเร็จแล้วและตอนนี้ใช้คำสั่งค้นหาเพื่อแสดงเอกสารในคอลเล็กชั่น จะแสดงผลลัพธ์ต่อไปนี้

Output:

คีย์หลักเข้า MongoDB

ผลลัพธ์แสดงให้เห็นอย่างชัดเจนว่าฟิลด์ _id ที่เรากำหนดไว้ในขณะที่สร้างคอลเลกชันนั้นถูกใช้เป็นคีย์หลักสำหรับคอลเลกชันแล้ว