MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Conversione da String a MongoDB ObjectID

Come vedo ci sono due problemi qui:

  1. Come ottenere l'ID corretto dell'istanza ObjectID?

Il valore 8001_469437317594492928_1400737805000 non è un valore HEX che puoi vedere nel DB ma una concatenazione esplicita di componenti time, machine id, pid e counter. Questi componenti vengono utilizzati per generare un valore esadecimale. Per ottenere il valore HEX devi utilizzare il metodo ToString della tua istanza ObjectID.

Riferimento alla spiegazione dei componenti ObjectID qui:https://api .mongodb.com/java/3.0/org/bson/types/ObjectId.html

  1. Come creare un'istanza ObjectId con ID specifico

Per creare una nuova istanza ObjectID con un valore HEX specifico, utilizzare questo:var objectId = new ObjectId(hexStringId)