【发布时间】: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 的文档说明该函数返回一个布尔值,但这里它返回一个数组。
谢谢!
【问题讨论】: