我不知道为什么,但我很难让 $addToSet 为我的子数组项工作。
这应该是这样的:
{
"items": [
{
"id": "510bca8138fc5d6e38000000",
"quantity": "1"
},
{
"id": "51011a8138fc5d6348000000",
"quantity": "1"
}
],
"session": "1359948849.291898629576",
"status": "cart"
}
但是,它似乎只允许第一个:
{
"items": [
{
"id": "510bca8138fc5d6e38000000",
"quantity": "1"
}
],
"session": "1359948849.291898629576",
"status": "cart"
}
它只是不会插入另一个子数组。
我的代码:
$document = $collection->findOne(array('session' => $_SESSION["redi-Shop"]));
//print_r($document);
if (null !== $document) {
$collection->update(
array('session' => $_SESSION["redi-Shop"]),
array(
'$addToSet' => array(
'items' => $_POST['item']
),
));
print_r($_POST['item']);
}
else
{
$collection->insert(
array('session' => $_SESSION["redi-Shop"],
'status' => "cart",
'items' => $_POST['item'])
);
}