sql >> Databasteknik >  >> NoSQL >> MongoDB

Mongo UUID Typ 03 istället för 04 från mongo shell

Du kan lägga in data direkt i BinData() fungera som typ 4, genom att extrahera base64-kodningen och tillhandahålla den:

var t = BinData(4, UUID("240003a09cec456ab57b98ff8e0e45db").base64())
BinData(4,"JAADoJzsRWq1e5j/jg5F2w==")

Och då får du fortfarande det angivna värdet från hex:

t.hex()
240003a09cec456ab57b98ff8e0e45db

Eller skicka bara direkt till HexData() :

HexData(4,"240003a09cec456ab57b98ff8e0e45db")
BinData(4,"JAADoJzsRWq1e5j/jg5F2w==")

Om du har data med bindestreck mellan, använd .split() och .join() för att formatera om:

var str =  "240003A0-9CEC-456A-b57B-98FF8e0E45DB";
str.split('-').join("").toLowerCase();
"240003a09cec456ab57b98ff8e0e45db"

En JIRA-biljett finns för att göra UUID() generera typ 4 som standard SERVER-12835 , men det är en lågprioriterad fråga. För allmänt bruk bör dina interaktioner istället vara "drivrutinsbaserade". Men det finns dessa metoder för att arbeta med skalet.




  1. Återuppringning vid MongoDB Operation With Node.js

  2. Hur unhideIndex() fungerar i MongoDB

  3. mongodump-fel 'locale::facet::_S_create_c_locale namn inte giltigt'

  4. Hanterar schemaändringar i Mongoose