2011-02-13 13 views

Respuesta

17

Hay different ways to generate UUIDs. Si ya está usando CouchDB, puede simplemente pedir a CouchDB para algunos como esto:

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

CouchDB tiene three different UUID generation algorithms. Puede especificar qué CouchDB usa en la configuración de CouchDB como uuids/algorithm. Podría haber beneficios al pedir CouchDB para UUIDs. Específicamente, si está utilizando el algoritmo de generación "secuencia". Los UUID que obtienes de CouchDB caerán en esa secuencia.

Si desea hacerlo en node.js sin depender de CouchDB, entonces necesitará una función UUID escrita en JavaScript. node-uuid es una implementación de JavaScript que usa "Versión 4" (números aleatorios) o "Versión 1" (basada en la fecha y hora). Funciona con node.js u hospedado en un navegador: https://github.com/broofa/node-uuid

Si está en Linux, también hay un contenedor de JavaScript para libuuid. Se llama uuidjs. Hay una comparación de rendimiento para node-uuid en el ReadMe de node-uuid.

Si desea hacer algo y no parece que sea compatible con node.js, asegúrese de marcar modules available para npm.

+2

Dos correcciones menores: node-uuid ahora ofrece las soluciones de UUID v1 (timestamp) y v4 (random). Además, no es solo para node.js, también funciona en todos los principales navegadores. – broofa

+0

Gracias, broofa! Actualicé la respuesta. –

0

que tenían la misma pregunta y se encontró que el simple paso de una 'nulo' para la Identificación couchdb en la instrucción de inserción también hizo el truco:

var newdoc = { "foo": "barra", " escriba ":" my_couch_doctype " };

mycouchdb.insert (. Newdoc, null/* < - dejar que couchdb generar para usted * /, la función (err, cuerpo) {

});