สร้าง ObjectID ของ MongoDB ที่ถูกต้องสำหรับการทดสอบ การพัฒนา หรือการศึกษา เครื่องมือนี้สร้างตัวระบุที่ไม่ซ้ำกัน 12 ไบต์ที่ใช้ในฐานข้อมูล MongoDB ซึ่งประกอบด้วย timestamp ค่าแบบสุ่ม และเคาน์เตอร์ที่เพิ่มขึ้น
MongoDB ObjectID เป็นตัวระบุที่ไม่ซ้ำกันที่ใช้ในฐานข้อมูล MongoDB เครื่องมือนี้ช่วยให้คุณสามารถสร้าง MongoDB ObjectIDs ที่ถูกต้องสำหรับการทดสอบ การพัฒนา หรือวัตถุประสงค์ทางการศึกษา ObjectIDs เป็นประเภท BSON ขนาด 12 ไบต์ ประกอบด้วยค่าเวลา 4 ไบต์ ค่าแบบสุ่ม 5 ไบต์ และนับที่เพิ่มขึ้น 3 ไบต์
MongoDB ObjectID ประกอบด้วย:
โครงสร้างสามารถแสดงภาพได้ดังนี้:
1|---- Timestamp -----|-- Random --|-- Counter -|
2 4 bytes 5 bytes 3 bytes
3
แม้ว่าจะไม่มีสูตรทางคณิตศาสตร์สำหรับการสร้าง ObjectIDs แต่กระบวนการสามารถอธิบายได้ตามลำดับ:
ตัวสร้าง ObjectID จะปฏิบัติตามขั้นตอนเหล่านี้:
MongoDB ObjectIDs มีกรณีการใช้งานที่สำคัญหลายประการ:
ตัวระบุเอกสารที่ไม่ซ้ำกัน: ObjectIDs ทำหน้าที่เป็นฟิลด์ _id
เริ่มต้นในเอกสาร MongoDB เพื่อให้แน่ใจว่าเอกสารแต่ละฉบับมีตัวระบุที่ไม่ซ้ำกัน
ข้อมูลเวลา: 4 ไบต์แรกของ ObjectID ประกอบด้วยค่าเวลา ทำให้สามารถดึงข้อมูลเวลาสร้างได้ง่ายโดยไม่ต้องใช้ฟิลด์แยกต่างหาก
การจัดเรียง: ObjectIDs สามารถจัดเรียงตามลำดับเวลา ซึ่งมีประโยชน์สำหรับการดึงเอกสารในลำดับการแทรก
การแบ่งส่วน: ในคลัสเตอร์ MongoDB ที่แบ่งส่วน ObjectIDs สามารถใช้เป็นคีย์แบ่งส่วน แม้ว่านี่จะไม่ใช่ทางเลือกที่ดีที่สุดสำหรับทุกกรณีการใช้งาน
การดีบักและการบันทึก: ส่วนประกอบเวลาใน ObjectIDs สามารถเป็นประโยชน์ในการดีบักและการวิเคราะห์บันทึก
ในขณะที่ ObjectIDs เป็นตัวระบุเริ่มต้นใน MongoDB แต่ก็มีทางเลือกอื่น:
ObjectIDs ถูกนำเสนอในช่วงการเปิดตัว MongoDB ครั้งแรกในปี 2009 พวกเขาถูกออกแบบมาเพื่อให้ตัวระบุที่ไม่ซ้ำกันซึ่งสามารถสร้างได้อย่างรวดเร็วและอิสระโดยเซิร์ฟเวอร์ที่แตกต่างกัน ทำให้เหมาะสำหรับระบบที่กระจาย
โครงสร้างของ ObjectIDs ยังคงสอดคล้องกันตลอดประวัติศาสตร์ของ MongoDB แม้ว่าการดำเนินการเฉพาะเกี่ยวกับวิธีการสร้างจะได้รับการปรับแต่งในช่วงเวลาที่ผ่านมา
นี่คือตัวอย่างโค้ดที่แสดงวิธีการสร้าง MongoDB ObjectIDs ในภาษาการเขียนโปรแกรมต่างๆ:
1import bson
2
3## สร้าง ObjectID เดียว
4object_id = bson.ObjectId()
5print(object_id)
6
7## สร้าง ObjectIDs หลายตัว
8object_ids = [bson.ObjectId() for _ in range(5)]
9print(object_ids)
10
1const { ObjectId } = require('mongodb');
2
3// สร้าง ObjectID เดียว
4const objectId = new ObjectId();
5console.log(objectId.toString());
6
7// สร้าง ObjectIDs หลายตัว
8const objectIds = Array.from({ length: 5 }, () => new ObjectId().toString());
9console.log(objectIds);
10
1import org.bson.types.ObjectId;
2
3public class ObjectIdExample {
4 public static void main(String[] args) {
5 // สร้าง ObjectID เดียว
6 ObjectId objectId = new ObjectId();
7 System.out.println(objectId.toString());
8
9 // สร้าง ObjectIDs หลายตัว
10 for (int i = 0; i < 5; i++) {
11 System.out.println(new ObjectId().toString());
12 }
13 }
14}
15
1require 'bson'
2
3## สร้าง ObjectID เดียว
4object_id = BSON::ObjectId.new
5puts object_id.to_s
6
7## สร้าง ObjectIDs หลายตัว
8object_ids = 5.times.map { BSON::ObjectId.new.to_s }
9puts object_ids
10
ตัวอย่างเหล่านี้แสดงวิธีการสร้าง ObjectIDs โดยใช้ไดรเวอร์ MongoDB อย่างเป็นทางการหรือไลบรารี BSON ในภาษาการเขียนโปรแกรมต่างๆ ObjectIDs ที่สร้างขึ้นจะไม่ซ้ำกันและปฏิบัติตามโครงสร้างที่อธิบายไว้ก่อนหน้านี้
ค้นพบเครื่องมือเพิ่มเติมที่อาจมีประโยชน์สำหรับการทำงานของคุณ