我想生成一个随机的UUID字符串,并将其插入到Mongo集合中。我该怎么做?我不想要十六进制,我需要破折号。我尝试了UUID().toString(),但似乎不起作用。
我能够使这个工作起来的唯一方法是使用
UUID()
.toString('hex')
.replace(/^(.{8})(.{4})(.{4})(.{4})(.{12})$/, '$1-$2-$3-$4-$5')
当我尝试使用UUID().hex()
时会出现UUID().hex不是函数
的错误提示,而UUID().toString()
只返回了一堆乱码。
1.5.4
后,我们改用了上述方法。之前的方法 UUID().toString().split('"')[1]
可以正常工作。 - Siraj KUUID().toString()
包括方法名称。您的解决方案包括引号。要去掉这些引号,您可以使用以下代码:
UUID().toString().split('"')[1]
说明:
UUID().toString()
将返回一个包含 UUID("00000000-0000-0000-0000-00000000000")
的字符串。split('"')
会将该字符串拆分成数组,以引号为分隔符,得到一个数组:['UUID(', '00000000-0000-0000-0000-000000000000', ')']
[1]
选择该数组中的第二个元素,即 UUID 字符串。UUID().toString()
给了我l�X�N��� ��B
。 - cactuschibre> UUID()
UUID("a75cae57-a016-4142-ae1e-2197a093f763")
> UUID().toString()
UUID("9bc2a799-be68-46ac-bee3-53e5eae7f853")
- Jeroen van Montfortdb.version()
给我的结果是3.4.2
。我用UUID().hex().toString()
成功地将UUID()转换成字符串。 - cactuschibrebf7151f190df40f4be6eb5bd13388be5
的内容,但这并不是所要求的格式,即缺少“-”破折号。 - Hendy Irawanuuid
,您需要以以下方式调用uuid()
。首先使用require语句导入uuid/v4
库(require语句也适用于mongo shell)。const uuid = require('uuid/v4');
print(uuid());
// output : "df5679ea-34bf-48c0-9e9c-8c92686a7f56"
db.users.insert({name: "username", uuid: uuid()});
UUID()
方法名称包装,所以我的hack是....UUID().toString().split('UUID(').join("").split(')').join("")
- ProgrammerNeo