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



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

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

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

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

否则,您必须通过带有map和reduce的视图功能自行处理它:map函数发出mac地址,减少一个分组并计数。但是这样做的代价是在添加数据之前进行额外的视图查找,并从您那里清理重复项的一些逻辑,但是您始终会遇到重复值同时在数据库中的情况。

最新更新