0

我不知道为什么,但我很难让 $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'])
                );
        }
        
4

1 回答 1

1

我将 $addToSet 更改为 $Push 并且工作正常

于 2013-02-04T04:33:41.003 回答