首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >go-couchbase客户端更新功能

go-couchbase客户端更新功能
EN

Stack Overflow用户
提问于 2014-08-18 12:11:56
回答 1查看 110关注 0票数 1

我使用的是go-couchbaseUpdate函数

代码语言:javascript
复制
//defining the function first and passing it as an argument
myfunc := func(current []byte)(updated []byte, err error) {return updated, err }
myb.Update("key123", 1, myfunc)

但是,当我运行存储桶的Update函数时。我查了沙发数据库。密钥为"key123“的文档消失了。看起来Update并没有更新这个值,而是删除了它。发生了什么?我是不是做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2014-08-18 12:23:26

func (*Bucket) Update

函数(b *Bucket)更新(k字符串,exp int,回调UpdateFunc)错误

Update执行文档的安全更新,通过使用CAS避免冲突。

使用当前原始文档内容调用回调函数(如果文档不存在,则返回nil );它应该返回更新后的原始内容(如果要删除,则返回nil )。如果它决定不更改任何内容,则可以将UpdateCancel作为错误返回。

如果另一个编写器修改get和set之间的文档,将使用较新的值再次调用回调。

你的UpdateFunc

代码语言:javascript
复制
myfunc := func(current []byte)(updated []byte, err error) {return updated, err }

在返回值之前,不要将updated []byte设置为值。因此,它有一个零值nil,一个删除请求:“回调函数应该返回更新后的原始内容(或者nil来删除。)”

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25356245

复制
相关文章

相似问题

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