MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Conversão de String para MongoDB ObjectID


Pelo que vejo, há dois problemas aqui:
  1. Como obter o ID adequado da instância ObjectID?

O valor 8001_469437317594492928_1400737805000 não é um valor HEX que você pode ver no banco de dados, mas uma concatenação explícita de componentes de tempo, ID de máquina, pid e contador. Esses componentes são usados ​​para gerar o valor HEX. Para obter o valor HEX, você precisa usar o método ToString da sua instância ObjectID.

Referência à explicação dos componentes ObjectID aqui:https://api .mongodb.com/java/3.0/org/bson/types/ObjectId.html
  1. Como criar uma instância ObjectId com um ID específico

Para criar uma nova instância ObjectID com valor HEX específico, use isto:var objectId = new ObjectId(hexStringId)