【问题标题】:PHP Couchbase setMulti weird outputPHP Couchbase setMulti 奇怪的输出
【发布时间】:2014-09-29 09:24:51
【问题描述】:

我有以下代码:

$objDriver = new Couchbase($strHostname . ':' . $strPort, $strUsername, $strPassword, $strDataBucket, $blnPersistent);

$arrDocs = array(
    array(
        'id' => 1,
        'document' => json_encode(array(
            'test' => 'test',
            'x' => 'y'
        ))
    ),
    array(
        'id' => 2,
        'document' => json_encode(array(
            'test1' => 'test1',
            'y' => 'x'
        ))
    )
);

var_dump($objDriver->setMulti($arrDocs, 360));
var_dump($objDriver->get(1));
var_dump($objDriver->get(2));

该代码的输出是:

array(2) {
  ["1"]=>
  string(19) "2871475064714901504"
  ["0"]=>
  string(19) "5562107574183606272"
}
array(2) {
  ["id"]=>
  int(2)
  ["document"]=>
  string(25) "{"test1":"test1","y":"x"}"
}
bool(false)

好像只能拿到第二份文件,真是奇怪。 setMulti (http://www.couchbase.com/autodocs/couchbase-php-client-1.1.5/classes/Couchbase.html#method_setMulti) 上的文档:setMulti(array $documents, integer $expiry, integer $persist_to, integer $replicate_to) : boolean 声明文档必须是数组(id,文档)对的形式,所以我的代码看起来是正确的。

如您所见,setMulti 的文档说明该函数返回一个布尔值,但这里它返回一个数组。

谢谢!

【问题讨论】:

    标签: php couchbase


    【解决方案1】:
    $cb_data = array(
    array($id => $document),
    array($id1 => $document1),
    ...
    )
    

    $id是Couchbase数据的key。

    $document是json数据

    【讨论】:

      猜你喜欢
      • 2023-03-10
      • 2019-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-29
      • 1970-01-01
      相关资源
      最近更新 更多