Tôi đang sử dụng java/morphia để đối phó với mongodb. ObjectId mặc định không phải là rất thuận tiện để sử dụng từ lớp Java. Tôi muốn làm cho nó một loại String trong khi giữ cho quá trình tạo khóa bằng cách sử dụng ObjectId, nói _id = new ObjectId.toString()
.Tôi có thể sử dụng String làm loại ID cho tài liệu mongodb không?
Tôi muốn biết liệu có tác dụng phụ nào xảy ra theo cách này không? Ví dụ, nó sẽ tác động đến hiệu suất cơ sở dữ liệu hoặc gây xung đột quan trọng trong bất kỳ phương tiện nào? Nó có ảnh hưởng đến môi trường sharding ...
Bạn có thể giải thích thêm về lý do ObjectId bất tiện không? Bạn có thể dễ dàng tạo lại một từ một chuỗi như 'id = new ObjectId (str)' –
String là kiểu được sử dụng trong mọi chương trình Java, trong khi ObjectId thì không. Tôi không muốn giới thiệu một loại mới cho các thành phần khác sử dụng thư viện của tôi. có lẽ nó sẽ yêu cầu morphia, mongodb và thư viện bson được nhập khẩu, nó vẫn tốt hơn nếu mọi người sử dụng thư viện của tôi là trong suốt đối với các loại mongodb bao gồm ObjectId –
Hmm ... nhưng nếu thư viện của bạn đang lưu trữ dữ liệu trong Mongo, sẽ không mongo.jar cần phải được trong classpath anyway? Ngoài ra, có một tạo trên không và thu gom rác rất nhiều Strings. –