MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Konvertierung von String zu MongoDB ObjectID

Wie ich sehe, gibt es hier zwei Probleme:

  1. Wie erhalte ich die richtige ID der ObjectID-Instanz?

Der Wert 8001_469437317594492928_1400737805000 ist kein HEX-Wert, den Sie in der DB sehen können, sondern eine explizite Verkettung von Zeit, Maschinen-ID, PID und Zählerkomponenten. Diese Komponenten werden verwendet, um den HEX-Wert zu generieren. Um den HEX-Wert zu erhalten, müssen Sie die Methode ToString Ihrer ObjectID-Instanz verwenden.

Referenz zur Erläuterung der ObjectID-Komponenten hier:https://api .mongodb.com/java/3.0/org/bson/types/ObjectId.html

  1. So erstellen Sie eine ObjectId-Instanz mit einer bestimmten ID

Um eine neue ObjectID-Instanz mit einem bestimmten HEX-Wert zu erstellen, verwenden Sie Folgendes:var objectId = new ObjectId(hexStringId)