Articles of uuid

JavaScript的GUID base64转换似乎并没有工作

我尝试在Node.js中由于某些原因在base64string中转换GUID 我的function是 function encode(guid) { let buffer = new Buffer(guid.replace(/-/g, ""), 'hex'); let ret = buffer.toString('base64'); ret = ret.replace(/\//g, "_").replace(/\+/g, "-"); return ret.substring(0,22); //FIXME } function decode(encoded_string) { let buffer = new Buffer(encoded_string + '==', 'base64'); let ret = buffer.toString('hex'); ret = ret.replace(/_/g, "/").replace(/-/g, "+"); return ret; } 我用guid ='c9a646d3-9c61-4cb7-bfcd-ee2522c8f633' 结果是'yaZG05xhTLe_ze4lIsj2Mw' 也很好解码(没有短划线)。 但是,根据http://guid-convert.appspot.com/ 转换后的结果是'00 amyWGct0y/ze4lIsj2Mw=='。 […]

Neo4J和其他数据库中唯一ID的最佳实践?

目前在我的Node.Js应用程序上运行Neo4J我使用node-uuid模块为我的数据库对象提供唯一的ID。 使用该模块的uuid.v1()函数,我得到了类似的东西 81a0b3d0-e4d0-11e3-ac56-73f5c88681be 现在,我的请求很长,有时在一个查询中有数百个节点和边。 所以你可以想象它们变得巨大,因为每个节点和边缘都必须有唯一的ID。 你知道如果我可以使用更短的ID系统,以便在我的项目数量增长后不会遇到任何问题吗? 我的意思是我知道我可以逃脱只有前8个符号(因为有36^8 > 2 Trl组合,但是它们随机生成时performance如何?随着节点数量的增加,机会是多less随机生成的ID不会落入已经存在的ID中? 另一个问题 – 如何交换当前的身份证系统到新的? 再生新的更短的ID最好的方法是什么? 谢谢!

MongoDB只使用中间件插入UUID?

我不知道如何正确地插入到MongoDB的UUID。 例如: db.users.insert({ uuid: UUID(buffer) }) 缓冲区必须是32hexstring和MongoDB本地不创buildUUID,只存储这个? 我是对的? 但是,我创build随机的UUID,例如通过Node.js中间件,我有一个随机的UUID 11986aba-7c5a-4626-b354-80be23c25516 ,所以它是一个36长度的string,现在我不能把它放入UUID(buffer) 。 我应该怎么做这个从node.js uuid模块生成的UUID? 以后如何从MongoDB中读取这个插入的值作为正常的uuidstring?

生成词汇提升的唯一ID

我想生成用于CouchDB的ID。 我希望这些ID可以按时间上升,这样我就可以在没有保留单独的时间戳字段的情况下对id进行sorting。 我知道CouchDB会用这个属性来生成id,但是我不希望查询数据库的性能受到影响,我宁愿在我的服务器上运行一个algorithm。 除了结果不是按照词汇升序外,我会去执行rfc 4112。 有没有什么好的理由我不应该这样做: (Date.now()) + 'x' + Math.round(Math.random() *1E18) (我正在使用nodejs)。 使用非标准的uuid,还是依靠随机函数构build的javascript,是否有任何费用?

与mongodbmeteor采集中的重复密钥

我目前正在开发一个meteor应用程序,有时我的服务器出现这个错误: 调用方法'/ songs / insert'时出现exceptionMongoError:E11000重复键错误索引:megan.songs。$ id dup键:{:“399dc507-b1fe-4e0f-a2c4-fa3dabd2bdf5”} 插入方法是这样调用的: Songs.insert({name:vid,score:weight,title:title,listkey:Session.get('listkey')}); 有谁能够帮助我? 提前致谢, Topicus

尝试使用带有GUID的C#持久化mongodb来读取nodejs中的数据

我已经看到了一些这方面的问题,但他们都没有直接解决这个问题。 所以情况是有一个基于C#的API,它将数据写入一个MongoDB实例,并使用一个GUID作为mongo中的_id ,所以例如: "_id" : new BinData(3, "+jscvebAl0+NO0n1WySLTQ=="), 所以假设它不会改变,它将永远是那种数据types,我无能为力。 所以在nodejs中,我读取的文档中包含一些与其他资源相关的UUID,但是当我使用nodejs 2.0驱动程序读取文档时,UUID vars被读作GUIDstring,如下所示: "someIdField": "c1489470-4e04-49ba-ae91-a20c009254e5" 所以,如果我直接使用{ "_id" : someIdField }它找不到匹配的文档,我假设它是因为它需要比较二进制表示,而不是string之一,但我似乎无法将该string变成有价值的东西。 我已经尝试使用npm uuid包parsing,然后像这样使用该缓冲区: var bytes = Uuid.parse(uuid); return new Binary(new Buffer(bytes), 3); 然而,这似乎并没有工作,我已经尝试了其他的解决scheme,包括base64编码,但似乎没有带回结果。 那么还有什么我需要在这里做的?

制作一个UUID(rfc4122)用于哈希完整内容的命名空间?

我正在学习编写博客软件,所以我阅读了需要唯一ID的Atom。 似乎你应该做的是一个urn:uuid:type IRI。 得到一个全球唯一的标识符对我来说是有意义的,就是对这个post的内容进行散列。 我已经编写了代码(见下面)来生成符合rfc-4122标准的UUID(版本5),除了我不确定要为命名空间添加什么内容。 RFC表示说我们应该使用什么名字空间,而不是说它的范围,并且显示了一些例子,其中没有一个是正确的。 我GOOGLE了一下,没有看到任何超出RFC的build议。 命名空间本身应该是一个UUID,所以我不应该把“整个post的散列”当作命名空间。 要生成一个版本5 uuid的[除6位以外的所有内容],可以将名称空间UUID(原始格式)与您的“名称”连接起来。 所以…这是我的问题:是否有一个名称空间UUID使用文档的全部内容作为“名称”? 或者我应该随机(v4)UUID,并使用它作为我自己的“整个职位”命名空间? 或者是其他东西? 谢谢,杰森 PS我写了一个UUID生成器的节点,现在使用ns:URL命名空间。 如果您有兴趣,请input以下代码: // Copyright 2011 Jason Woofenden — CC0 // // An almost correct rfc-4122 v5 UUID generator for node (see http://node.js) // // To test, run this with node, then compare the out put of these: // // curl http://localhost:8129/foo […]

如何使用mongodb脚本生成UUID

我打算写一个脚本来改变基于这个来源的mongodb表和字段: https : //docs.mongodb.com/manual/tutorial/write-scripts-for-the-mongo-shell/ 我打算生成一个UUID并把一个新的字段添加到更改表,我发现这个参考如何生成一个BSON UUID对象,但是我需要指定一个32字节的hexstring转换为UUID BSON子types 。 理想情况下,我正在寻找一个等同于此的mongodb,它通过创build一个随机哈希本身而不需要32字节的hexinput来自动生成UUID v1。 这是怎么做的? 我打算在这个mongodb上执行的脚本上创build一个脚本。

如何使用nodejs pg-promise库将具有uuid数组的logging插入到pg表中

我需要在我的数据库中有一个表,其中包含一个单一的列是一个uuid对象(uuid []types的数组) 但是当我尝试使用名为pg-promise的nodejs库插入到它时,它失败 我得到以下错误消息告诉我,我需要重写演员或expression式 {"name":"error","length":206,"severity":"ERROR","code":"42804","hint":"You will need to rewrite or cast the expression.","position":"230","file":"src\\backend\\parse r\\parse_target.c","line":"510","routine":"transformAssignedExpr"} 这是奇怪的,因为我有绝对没有问题,当我尝试进入一个单一的uuid到另一列在同一个确切的表(我没有代表uuid的问题,顺便说一句,我创build它们作为一个文本variables从另一个库,但他们是普通的旧文本variables) 我也没有问题,当我尝试input一个TEXT对象数组到同一列(万一我更改表具有一个TEXT []列而不是UUID []列) 这是我的代码 //////////////// var Promise = require('bluebird'); var pgpLib = require('pg-promise'); var pgp = pgpLib(); var cn = confUtil.pgDbConnectionConfiguration(); var db = pgp(cn); ////////////////// var newEntity={}; newEntity.hash = uuid.v4(); newEntity.location = {X:2394876,Y:2342342}; newEntity.mother = uuid.v4(); newEntity.timestamp = Date.now(); […]

如何从UUID v1(TimeUUID)使用JavaScript提取时间戳?

我使用Cassandra DB和Helenus模块来控制nodejs。 我有一些包含TimeUUID列的行。 如何从JavaScript中的TimeUUID获取时间戳?