与设计的波纹

Iam尝试使用riak作为数据库的设计创建身份validation。 我找到了相同的https://github.com/frank06/devise-ripple的ORM策略,它确实工作正常,除了当我尝试使用已经存在于db中的电子邮件注册时它不会提供错误消息,而不是覆盖当前数据并更新它。 我想到的问题是,纹波处理.save()与活动记录的处理方式不同,即当活动记录抛出时,错误Ripple只会覆盖它。

由于Riak没有独特字段的概念,因此您必须检查堆栈应用级别的唯一性。

我这样做的方法是快速m / rfunction,甚至是搜索/ 2i检查具有您正在validation的电子邮件值的文档的数量。 高于0的所有内容显然都是失败的validation。

根据您使用密钥的方式,您可以将密钥设置为电子邮件地址的哈希值。

检查该特定条目的存在将像请求该特定文档一样容易,应该比map / reduce或search快得多。

Interesting Posts