Estoy usando java/morphia para tratar con mongodb. El ObjectId predeterminado no es muy conveniente para usar desde la capa de Java. Me gustaría hacerlo de tipo String mientras mantengo el proceso de generación de claves usando ObjectId, digamos _id = new ObjectId.toString()
.¿Puedo usar String como tipo de ID para el documento mongodb?
Quiero saber si hay algún efecto secundario al hacerlo de esta manera? Por ejemplo, ¿afectará el rendimiento de la base de datos o causará conflictos clave en cualquier medio? ¿Afectará el entorno de fragmentación ...
¿Puede explicarme más acerca de por qué ObjectId es inconveniente? Puede recrear fácilmente uno de una cadena como 'id = new ObjectId (str)' –
String es el tipo utilizado en cada programa Java, mientras que ObjectId no lo es. No quiero introducir un tipo nuevo a otros componentes que usan mi biblioteca. probablemente se necesite importar morphia, mongodb y bson library, aún es mejor si las personas que usan mi biblioteca son transparentes para mongodb, incluyendo ObjectId –
Hmm ... pero si su biblioteca está almacenando datos en Mongo, ¿no será mongo.jar? ¿Necesito estar en el classpath de todos modos? Además, hay una sobrecarga de creación y recolección de basura de cadenas. –