我有以下代码:
$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,document)对的形式,所以我的代码似乎是正确的。
正如您所看到的,setMulti上的文档声明该函数返回一个布尔值,但它返回一个数组。
谢谢!
答案 0 :(得分:0)
$cb_data = array(
array($id => $document),
array($id1 => $document1),
...
)
$id
是Couchbase数据的关键。
$document
是json数据