【问题标题】:Updating documents with the help of cas in couchbase 2.0 server using PHP API使用 PHP API 在 couchbase 2.0 服务器中借助 cas 更新文档
【发布时间】:2012-11-16 14:01:21
【问题描述】:

我正在尝试使用 PHP API (php-ext-couchbase) 更新 Couchbase 2.0 服务器中的文档。 http://www.couchbase.com/docs/couchbase-sdk-php-1.1/api-reference-summary.html

该文档类似于带有 cmets 和点赞的 facebook POSTS。

更具体。

-加载文档。

-修改它

-如果没有其他人访问过,则存储修改后的文档。

完成此操作所需的基本操作将是

# Get a document by key
doc = get(key)
# Modify a document when no one has modified it since my last read
casVersion = doc.getCas()
cas(key, casVersion, changedDoc)

我只是想知道如何在 PHP 中实现这一点。 尤其是如何获取文档的casVersion或revision_id,然后进一步进行更新过程,使同一文档同时更新所做的更改不丢失。

【问题讨论】:

    标签: php couchbase


    【解决方案1】:

    不用担心,我找到了,

    代码是

        $bucket='yourbucketname';
        $cb=new Couchbase("127.0.0.1:8091","root","password",$bucket);
    
        $old_doc=null;
    
        $cb->getDelayed($obj_id, true,
        function($cb, $data) use (&$old_doc) { $old_doc = $data; });
    
        $casKey=$old_doc['cas'];
    

    使用getDelayed方法和回调函数获取具有(key,value,caskey)的数组

    我希望将来沙发库文档中的用法示例会更加清晰。

    【讨论】:

    • 所以通过这种方法,您可以使用其 cas 键检索文档。
    • $obj_id 是文档的键,
    猜你喜欢
    • 2023-04-05
    • 2019-12-06
    • 2020-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-30
    相关资源
    最近更新 更多