Kann ich die Verwendung von String als ID Typ für mongodb-Dokument?

Ich bin mit java/morphia Umgang mit mongodb. Die Standard-ObjectId ist nicht sehr praktisch für die Verwendung von Java-Schicht. Ich würde es gern machen, ein String-Typ, während halten Sie die Schlüssel-Generierung mit ObjectId, sagen _id = new ObjectId.toString().

Möchte ich wissen, ob es irgendwelche Nebenwirkungen dadurch? Zum Beispiel, wird es Auswirkungen auf die performance der Datenbank oder verursacht wichtigsten Konflikte, mit welchen Mitteln? Wird es Auswirkungen auf die Splitter-Umgebung ...

  • Können Sie erklären, mehr über, warum die ObjectId ist unbequem? Sie können ganz einfach erstellen man aus einem string wie id= new ObjectId(str)
  • String ist der Typ in jedem Java-Programm, während die ObjectId ist nicht. Ich will nicht die Einführung einer neuen Art zu anderen Komponenten, die mit "meine Bibliothek". wahrscheinlich wird es erfordern, morphia, mongodb und bson-Bibliothek importiert werden, es ist immer noch besser, wenn die Leute über meine Bibliothek ist transparent zu mongodb-Typen einschließlich ObjectId
  • Hmm... aber wenn Ihre Bibliothek die Speicherung von Daten in Mongo, nicht die mongo.jar müssen in den classpath überhaupt? Auch, es ist ein Aufwand die Erstellung und Müll sammeln mit vielen Streichern.
  • Wenn Sie möchten, um einen neuen string-Wert für "ID", verwenden Sie (new ObjectId).valueOf() statt (new ObjectId).toString() (geändert in MongoDB ver 2.2).
InformationsquelleAutor Gelin Luo | 2012-06-18
Schreibe einen Kommentar