是否可以根据文档的属性检索文档?
users
如果电子邮件已经存在,我希望能够测试我的注册?但是,在我看来,您只能通过_id
...检索文档
我使用 Cloudant 作为使用 CouchDB 的云服务。
您可以使用电子邮件地址作为文档的 id,因此无法添加具有相同电子邮件的其他文档。您还可以使用 CouchDB 的基本功能view来检查电子邮件在插入之前是否存在。这两种方法都需要稍后解决冲突。如果是第一种情况,可能还有另一个 Couch 节点的文档冲突尚未被复制。在第二种情况下,两个用户可以将帐户添加到同一台服务器,但他们都将首先检查现有的电子邮件,然后都将添加他们的帐户。
添加视图需要添加计算视图定义所在的设计文档。您可以使用如下函数创建索引map
:
function (doc) {
if (!doc.email) return;
emit(doc.email, doc);
}
您可以使用以下方式查询视图:
http://localhost:5984/YOUR_DTABASE/_design/YOUR_DESIGN_DOCUMENT/_view/YOUR_VIEW?key='e-mail@addre.ss'
请注意,电子邮件比较并不像您想象的那么简单: