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

Mongo UUID Digite 03 em vez de 04 do shell mongo


Você pode colocar os dados diretamente no BinData() funcione como tipo 4, extraindo a codificação base64 e fornecendo-a:
var t = BinData(4, UUID("240003a09cec456ab57b98ff8e0e45db").base64())
BinData(4,"JAADoJzsRWq1e5j/jg5F2w==")

E então você ainda obtém o valor fornecido de hexadecimal:
t.hex()
240003a09cec456ab57b98ff8e0e45db

Ou apenas forneça diretamente para HexData() :
HexData(4,"240003a09cec456ab57b98ff8e0e45db")
BinData(4,"JAADoJzsRWq1e5j/jg5F2w==")

Se você tiver dados com hifens no meio, use .split() e .join() para reformatar:
var str =  "240003A0-9CEC-456A-b57B-98FF8e0E45DB";
str.split('-').join("").toLowerCase();
"240003a09cec456ab57b98ff8e0e45db"

Existe um ticket JIRA para fazer UUID() gerar o tipo 4 como padrão SERVER-12835 , mas é uma questão de baixa prioridade. Para uso geral, suas interações devem ser baseadas em "driver". Mas existem esses métodos para trabalhar com o shell.