【问题标题】:How to check if a couchdb document exists (without retrieving it)?如何检查 couchdb 文档是否存在(不检索它)?
【发布时间】:2010-05-14 18:46:24
【问题描述】:

我怎样才能检查一个文档是否存在,也许得到修订,但不让 couchdb 发送文档的正文?

我记得我在某处看到过这个解释,但我找不到。

编辑: Iirc 在示例中您只收到了一个没有数据的 http 标头。标头是否存在。

Edit2: Evan 建议发出 HEAD 请求(而不是 GET)。这回答了我的问题。

CouchDB 为文档请求发送一个 ETag 标头。 ETag Header 只是引号中的文档修订。

引用自:http://wiki.apache.org/couchdb/HTTP_Document_API#ETags.2BAC8-Caching

【问题讨论】:

    标签: couchdb


    【解决方案1】:

    不是执行 HTTP GET 请求,而是执行 HTTP HEAD 请求。这将只返回标题而不返回内容。返回的状态会告诉你对象是否存在。

    【讨论】:

    • 谢谢,我会尽快尝试 :) - karlthorwald - aka
    • 有没有办法用 cradle API 做到这一点?
    • 是的,您可以像这样使用 cradle 执行此操作:db.head(id, function(err, opt1, opt2){ if(opt2!='404') item exists do something })跨度>
    猜你喜欢
    • 2012-07-02
    • 1970-01-01
    • 1970-01-01
    • 2021-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-08
    • 1970-01-01
    相关资源
    最近更新 更多