2011-02-13 93 views

回答

17

还有different ways to generate UUIDs。如果你已经在使用CouchDB的,你可以问CouchDB的一些这样的:

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

CouchDB的有three different UUID generation algorithms。您可以指定CouchDB在CouchDB配置中使用哪一个作为uuids /算法。向CouchDB询问UUID可能会有好处。具体而言,如果您正在使用“序列”生成算法。您从CouchDB获得的UUID将落入该顺序。

如果你想在node.js中完成而不依赖于CouchDB,那么你需要一个写入JavaScript的UUID函数。 node-uuid是使用“版本4”(随机数字)或“版本1”(基于时间戳)的JavaScript实现。它适用于node.js或托管在浏览器中:https://github.com/broofa/node-uuid

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

如果你想做点什么,而且它看起来并不像node.js中支持的那样,一定要检查modules availablenpm

+2

两个小的更正:node-uuid现在提供v1(时间戳)和v4(随机)UUID解决方案。另外,它不仅适用于node.js - 它也适用于所有主流浏览器。 – broofa 2012-01-04 14:53:23

0

我有同样的问题,结果发现只是传递一个“空”为CouchDB的ID在insert语句也做的伎俩:

VAR newdoc = { “富”:“酒吧”, “键入“:”my_couch_doctype“ };

mycouchdb.insert(newdoc,空/ * < - 让CouchDB的为您生成* /功能(ERR,身体){

});