我们不应该依靠CouchDB来生成uuid吗?

时间:2013-01-02 16:35:22

标签: couchdb

我正在阅读'CouchDB:The Definitive Guide',我对此段感到困惑:

  

出于演示目的,让CouchDB分配UUID很好。当您编写第一个程序时,我们建议您分配自己的UUID。如果您依赖服务器生成UUID并且最终发出两个POST请求,因为第一个POST请求遭到轰炸,您可能会生成两个文档,但从未发现第一个文档,因为只会报告第二个文档。生成您自己的UUID可确保您永远不会得到重复的文档。

我认为只有在文档创建成功时才会保存uuids(特别是_id)。也就是说,当我“发布”新文档的插入请求时,会自动生成_id。如果保存文档,则保留该字段,否则丢弃该字段。那不是这样吗?

您能否解释一下在CouchDB中生成_id字段的正确方法是什么?

2 个答案:

答案 0 :(得分:5)

我认为这句话并不是关于UUID,而是关于使用PUT(它是幂等的)而不是POST。

查看此主题以获取更多信息:Consequences of POST not being idempotent (RESTful API)

答案 1 :(得分:2)

我认为引用错误或过时,依靠CouchDB进行ID生成是可以的。我在工作中经常使用它,并且从未遇到过任何问题。