如何检查CouchDB中该字段是否唯一?

时间:2013-01-28 21:49:25

标签: couchdb couchapp

我有一个像这样的文件数据库:

{
    "_id" : "37686aeb8d65e77665af55e69801a62c",
    "ip"  : "192.168.1.1",
    "mac" : "01:23:45:67:89:ab"
}

我有一个带有更新处理程序的设计文档。如何检查新文档是否具有唯一的mac地址?是否可以在CouchDB中使用?

1 个答案:

答案 0 :(得分:0)

数据库中唯一保证的唯一值是_id,因此如果您要将此控件委托给CouchDB,则必须将其设置为mac地址。

否则,你必须通过你自己的map函数处理它,map和reduce:map函数发出mac地址,减少一个对它们进行分组和计数。但是这样做的成本是在添加数据之前进行额外的视图查找以及从侧面进行重复清理的一些逻辑,但是当重复的值同时存在于数据库中时,您将始终存在这种情况。