如何在Node.js中生成CouchDB UUID?

8
有没有一种方法可以在Node.js中生成像CouchDB中使用的随机UUID一样的随机UUID?
2个回答

19

不同的方法来生成UUID。如果你已经在使用CouchDB,你可以像这样向CouchDB请求一些:

http://127.0.0.1:5984/_uuids?count=10  

CouchDB有三种不同的UUID生成算法。您可以在CouchDB配置中指定CouchDB使用哪个算法作为uuids/algorithm。如果您正在使用“sequence”生成算法,则向CouchDB请求UUID可能会带来好处。从CouchDB获得的UUID将落入该序列。

如果您想在node.js中进行操作而不依赖于CouchDB,则需要编写JavaScript的UUID函数。node-uuid是一个JavaScript实现,它使用“Version 4”(随机数)或“Version 1”(基于时间戳)。它适用于node.js或托管在浏览器中: https://github.com/broofa/node-uuid

如果您在Linux上,则还有一个libuuid的JavaScript包装器。它被称为uuidjs。在node-uuid的ReadMe中有与node-uuid的性能比较。

如果您想要做某事,而且看起来在node.js中不受支持,请务必检查npm提供的可用模块


2
两个小修正:node-uuid现在提供了v1(时间戳)和v4(随机)UUID解决方案。此外,它不仅适用于node.js - 它也可以在所有主要浏览器中使用。 - broofa

0
我有同样的问题,发现在插入语句中将 couchdb id 置为 'null' 也可以解决问题:
``` var newdoc = { "foo":"bar", "type": "my_couch_doctype" };
mycouchdb.insert(newdoc, null /* <- 让 couchdb 为您生成. */, function(err, body){
}); ```

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接