0

我在 Couch db 中有一个数据库,其中包含以下文档:

{"foo":["bar1":"baz","bar2":18,"bar3":23.2]}

有没有办法在插入新文档之前对每个值进行批量检查?

我想要实现的是,如果在数据库中的任何文档中存在键值对 foo.bar1 = baz 和 foo.bar2=1 ,其中 baz 等于我要插入的新值,批处理函数不应该插入新的文档。

更具体地说, foo.bar 是一个日期时间,如果该日期时间存在并且同一文档中的另一个值具有给定值,则不应执行更新。

我可以通过首先对值进行请求然后让客户决定来执行单个插入请求来解决这个问题。但是对于客户端和沙发数据库之间来回发送的所有数据,这将非常耗时。此外,在进行此类检查时,我更喜欢依赖数据库的完整性。还是那是解决问题的sql方式?

4

1 回答 1

1

您需要使用批量文档 API。将所需键的列表发送到 _all_docs 后,您将收到带有状态的响应。未找到的键将具有状态“错误”(未找到)

于 2013-11-04T16:52:29.980 回答