sql >> Base de Datos >  >> NoSQL >> MongoDB

Mongo UUID Tipo 03 en lugar de 04 de mongo shell

Puede poner los datos directamente en BinData() funcionan como tipo 4, extrayendo la codificación base64 y proporcionándola:

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

Y luego aún obtiene el valor proporcionado de hexadecimal:

t.hex()
240003a09cec456ab57b98ff8e0e45db

O simplemente proporcione directamente a HexData() :

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

Si tiene datos con guiones intermedios, use .split() y .join() reformatear:

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

Existe un ticket JIRA para hacer UUID() generar tipo 4 como predeterminado SERVER-12835 , pero es un tema de baja prioridad. Para un uso general, sus interacciones deben basarse en el "controlador". Pero existen estos métodos para trabajar con el shell.