Bối cảnh: Tôi
có
đang dùng một ứng dụng (kỹ sư gốc rời) hoạt động như bộ nhớ đệm của một số dịch vụ phụ trợ tương đối chậm. Bởi vì đó là URL kiểu RESTful, mỗi URL là duy nhất. Ứng dụng sử dụng MongoDb làm bộ nhớ cache và sử dụng giá trị băm làm bộ đệm. Mặc dù mã băm phải khá độc đáo, nhưng nó không phải là duy nhất.Có giới hạn về độ dài _id trong mongodb
Câu hỏi: Tôi được cho biết lý do sử dụng mã băm (thay vì url) là do trường _id của MongoDb có giới hạn về độ dài, nhưng tôi không thể tìm thấy bất kỳ tài liệu nào về điều đó. Tất cả những gì tôi có thể tìm thấy trong tài liệu MongoDb là "_id field có thể là bất kỳ thứ gì khác ngoài mảng miễn là nó là duy nhất". Có đúng là trường _id của MongoDb có giới hạn độ dài không? Nếu vậy kích thước giới hạn là bao nhiêu?
Ứng dụng được viết bằng Java. Oh, và tôi mới đến MongoDb.
Ah, cảm ơn. Yea giá trị chuỗi dài trong _id là vụng về quá. Giải pháp thực sự là xử lý va chạm, nhưng đó là toàn bộ câu chuyện khác. – Alvin
Cũng bởi các giá trị băm rất tự nhiên của chúng hiếm khi được đảm bảo là duy nhất. Như vậy tôi sẽ không lưu trữ băm dưới dạng giá trị _id (được yêu cầu là duy nhất) và không cần phải kiểm tra va chạm. Điều đó nói rằng nó hoàn toàn có thể tạo ra các url được rút ngắn cho các URI REST của bạn, nó sẽ yêu cầu một số nhận thức về ứng dụng trong mã rút gọn của bạn. –
Cảm ơn lời khuyên! Cảm kích điều đó. – Alvin