Używam java/morphia do czynienia z mongodb. Domyślny obiekt ObjectId nie jest zbyt wygodny w użyciu z warstwy Java. Chciałbym, aby był to typ String, zachowując proces generowania kluczy za pomocą ObjectId, na przykład _id = new ObjectId.toString()
.Czy mogę użyć String jako typu ID dla dokumentu mongodb?
Chcę wiedzieć, czy są jakieś efekty uboczne, które robią to w ten sposób? Na przykład czy wpłynie to na wydajność bazy danych lub spowoduje kluczowe konflikty w jakikolwiek sposób? Czy wpłynie to na zmienne środowisko ...
Czy możesz wyjaśnić, dlaczego ObjectId jest niewygodny? Możesz łatwo odtworzyć jeden z ciągu takiego jak 'id = new ObjectId (str)' –
String jest typem używanym w każdym programie Java, podczas gdy ObjectId nie jest. Nie chcę wprowadzać nowego typu do innych komponentów korzystających z mojej biblioteki. prawdopodobnie będzie to wymagać importu morfiny, mongodb i biblioteki bons, to jest jeszcze lepsze, jeśli ludzie używający mojej biblioteki są transparentni dla typów mongodb, w tym ObjectId –
Hmm ... ale jeśli twoja biblioteka przechowuje dane w Mongo, to nie będzie mongo.jar i tak musi być w ścieżce klas? Ponadto istnieje napowietrzne tworzenie i usuwanie wielu ciągów Strings. –