Điều đó không giống như ObjectID MongoDB - một ObjectID là 12 byte dữ liệu nhị phân và khi được hiển thị dưới dạng chuỗi thập lục phân (cách thông thường để sử dụng trong URL), dài 24 ký tự. Tôi giả sử bạn đang sử dụng official PHP Mongo Driver, trong trường hợp đó hàm tạo của lớp MongoId
sẽ bỏ qua các giá trị không hợp lệ và tạo một giá trị mới cho bạn. Trong mọi trường hợp, tốt nhất là để cho trình điều khiển tạo ra một ObjectID/MongoId
cho bạn, vì nó sẽ làm như vậy theo cách tránh được va chạm.
Vì sự an toàn của việc sử dụng nó trong URL của bạn, bạn nên ổn. Tất nhiên, bạn nên sử dụng các biện pháp phòng ngừa thông thường để thực thi mã để đảm bảo rằng người dùng hiện tại có quyền truy cập để xem đối tượng đang được hiển thị, v.v. , số nguyên, vv) và thường có ít hơn, vì ObjectID không có giá trị ngữ nghĩa (trong khi một chuỗi như "adminuser" trong URL có thể truyền đạt rằng URL liên quan đến người dùng có đặc quyền nâng cao).
Không thể thấy bất kỳ vấn đề nào với điều đó. Nó giống như việc sử dụng một ID RDBMS được tạo trong một URL – Phil
Bạn có thể sử dụng: https://github.com/treygriffith/short-mongo-id – user956584