首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检查couchbase文档是否存在,而不检索全部内容,使用golang?

如何检查couchbase文档是否存在,而不检索全部内容,使用golang?
EN

Stack Overflow用户
提问于 2018-03-15 09:56:43
回答 1查看 1.8K关注 0票数 1

在我的代码中,我想做或不做一些操作,这取决于具有给定密钥存在的文档。但无法避免额外的网络开销,检索所有文档内容。

现在我在用

代码语言:javascript
复制
cas, err := bucket.Get(key, &value)

并寻找err == gocb.ErrKeyNotFound来确定文档丢失的案例。

有没有更有效的方法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-15 12:44:07

您可以使用子文档API并检查字段是否存在。

来自使用子文档API获取(仅)您想要的的示例

代码语言:javascript
复制
rv = bucket.lookup_in('customer123', SD.exists('purchases.pending[-1]'))
rv.exists(0) # (check if path for first command exists): =>; False

编辑:添加go示例

您可以使用子文档API来检查文档是否存在,如下所示:

代码语言:javascript
复制
frag, err := bucket.LookupIn("document-key").
    Exists("any-path").Execute()

if err != nil && err == gocb.ErrKeyNotFound {
    fmt.Printf("Key does not exist\n")
} else {
    if frag.Exists("any-path") {
        fmt.Printf("Path exists\n")
    } else {
        fmt.Printf("Path does not exist\n")
    }
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49296315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档