MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Conversion de String en MongoDB ObjectID

Comme je le vois, il y a deux problèmes ici :

  1. Comment obtenir le bon identifiant d'instance ObjectID ?

La valeur 8001_469437317594492928_1400737805000 n'est pas une valeur HEX que vous pouvez voir dans la base de données mais une concaténation explicite des composants time, machine id, pid et counter. Ces composants sont utilisés pour générer une valeur HEX. Pour obtenir la valeur HEX, vous devez utiliser la méthode ToString de votre instance ObjectID.

Référence à l'explication des composants ObjectID ici :https://api .mongodb.com/java/3.0/org/bson/types/ObjectId.html

  1. Comment créer une instance ObjectId avec un identifiant spécifique

Afin de créer une nouvelle instance ObjectID avec une valeur HEX spécifique, utilisez ceci :var objectId = new ObjectId(hexStringId)