MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Mongo UUID Type 03 au lieu de 04 du shell mongo

Vous pouvez mettre les données directement dans le BinData() fonctionner comme type 4, en extrayant l'encodage base64 et en le fournissant :

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

Et puis vous obtenez toujours la valeur fournie par hex :

t.hex()
240003a09cec456ab57b98ff8e0e45db

Ou simplement fournir directement à HexData() :

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

Si vous avez des données avec des tirets entre les deux, utilisez .split() et .join() reformater :

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

Un ticket JIRA existe pour faire UUID() générer le type 4 par défaut SERVER-12835 , mais il s'agit d'un problème peu prioritaire. Pour une utilisation générale, vos interactions doivent plutôt être basées sur le "pilote". Mais il existe ces méthodes pour travailler avec le shell.