是否有可能每次使用 xdmp:random() 或 Marklogic 中的其他方式生成一个 6 位唯一随机数

Is there a possibility of generating a 6 digit unique random number every time with xdmp:random() or some other way in Marklogic

我尝试使用 xdmp:random(999999) 但它有时会生成一个 5 位数字的值,有时会生成一个 6 位数字的值 - 有什么方法可以每次都获得唯一的 6 位数字值吗?

最简单的是使用 fn:format-number:

用零填充
format-number(xdmp:random(999999), '000000')

或者,您也可以查看 sem:uuid-string,它使用固定的字符串长度提供更好的随机结果。

HTH!

如果前导零不起作用,请确保您的基值是 100,000 并增加到 999,999。

xdmp:random(899999) + 100000