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

Konvertering fra String til MongoDB ObjectID

Som jeg kan se, er der to problemer her:

  1. Hvordan får man det korrekte id for ObjectID-forekomsten?

Værdien 8001_469437317594492928_1400737805000 er ikke en HEX-værdi, som du kan se i DB, men en eksplicit sammenkædning af tid, maskin-id, pid og tællerkomponenter. Disse komponenter bruges til at generere HEX-værdi. For at få HEX-værdi skal du bruge metoden ToString af din ObjectID-instans.

Henvisning til forklaring af ObjectID-komponenter her:https://api .mongodb.com/java/3.0/org/bson/types/ObjectId.html

  1. Sådan opretter du ObjectId-instans med specifikt id

For at oprette en ny ObjectID-instans med specifik HEX-værdi skal du bruge denne:var objectId = new ObjectId(hexStringId)



  1. mongoengine - Ignorer ekstra felter til skemavalidering

  2. MongoDB 4.4.4 ændringsstrøm returnerer alle dokumentopdateringer i stedet for filtreret tilstand, der matcher én?

  3. MongoDB GridFs med C#, hvordan gemmer man filer såsom billeder?

  4. Projektion på en MongoDb-forespørgsel ved hjælp af Spring-data og QueryDSL